1) Заголовки страниц
2) Ключевики, описания страниц
3) Подписи к картинка (альт, тайтл)
4) Быстрая загрузка страниц
5) Уникальный картинки
6) Уникальные тексты на сайте
8) реклама в гугле и яндексе, без этого сейчас очень трудно, говорят что реклама потихоньку убивает все сео.
/usr/share/php
) чем было до этого/var/www/www-root/data/www/domain.com/ajax/sql.php
а точнее domain.com
напрягает - у вас же не domain.com ведь?? public Form1()
{
InitializeComponent();
webbrowser.BringToFront();
webbrowser.Visible = true;
string url = "https://oauth.vk.com/authorize?client_id=" + VK_main.ID_APP + "&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=" + VK_main.SCOPE + "&response_type=token&v=" + VK_main.VERSION;
webbrowser.LoadingFrameComplete += Webbrowser_LoadingFrameComplete; //жду окончания загрузки
webbrowser.Source = new Uri(url);
}
private void Webbrowser_LoadingFrameComplete(object sender, FrameEventArgs e)
{
if (!e.IsMainFrame) return;
if(e.Url.ToString().Contains("https://oauth.vk.com/blank.html#access_token="))
{
int start = e.Url.Fragment.IndexOf("=");
int end = e.Url.Fragment.IndexOf("&");
VK_main.TOKEN = e.Url.Fragment.Substring(start+1, end-start-1); // записываю в "глобальную переменную токен
webbrowser.LoadingFrameComplete -= Webbrowser_LoadingFrameComplete;
webbrowser.Visible = false;
}
}
Много в ней багов?
Можно ли установить как основную?
Не понимаю, как в одну переменную записывается 2 разных значения
People humanoid_1 = new People("Name1"); // humanoid_1 -> переменная раз
People humanoid_2 = new People("Name2"); // humanoid_2 -> переменная дваз
People
. People
. А ссылочные типы хранятся в куче. А при создании объекта ссылочного типа People humanoid_1 = new People("Name1");
в стеке помещается ссылка на адрес в куче.// сам post
public async Task<string> POST(string url, NameValueCollection nvc = null)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = WebRequestMethods.Http.Post;
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0";
request.AllowAutoRedirect = true;
request.ProtocolVersion = HttpVersion.Version11;
request.AllowWriteStreamBuffering = true;
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");
request.ContentType = "multipart/form-data; boundary=" + boundary;
request.Headers.Add("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
request.Headers.Add("Accept-Encoding", "gzip, deflate");
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
if (nvc != null)
{
Stream rs = request.GetRequestStream();
byte[] boundarybytes = Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
string formdataTemplate = "Content-Disposition: form-data; name=\"{0}\"\r\n\r\n{1}";
string _key = String.Empty;
foreach (string key in nvc.Keys)
{
rs.Write(boundarybytes, 0, boundarybytes.Length);
string formitem = string.Format(formdataTemplate, key, nvc[key]);
byte[] formitembytes = Encoding.UTF8.GetBytes(formitem);
rs.Write(formitembytes, 0, formitembytes.Length);
}
rs.Write(boundarybytes, 0, boundarybytes.Length);
}
return await Task.Run(() =>
{
string resp = RESPONSE(request);
return resp;
});
}
catch (Exception ex)
{
return ex.Message;
}
}
// post обращается к ответу
public string RESPONSE(HttpWebRequest request)
{
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string answer = "";
var headers = response.Headers.ToString();
if (Convert.ToInt32(response.StatusCode) == 302 || Convert.ToInt32(response.StatusCode) == 200)
{
using (Stream rspStm = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(rspStm, Encoding.UTF8, true))
{
answer = String.Empty; answer = reader.ReadToEnd();
}
}
return answer;
}
else
{
response.Close(); return WebUtility.HtmlDecode(response.StatusDescription);
}
}
catch (Exception ex)
{
return WebUtility.HtmlDecode(ex.Message);
}
}
//после этого сам код: (на примере wall.get)
public async System.Threading.Tasks.Task<bool> GetWall(int id_group, int offset = 0)
{
try
{
string url = "https://api.vk.com/method/wall.get?";
Main_Tools mt = new Main_Tools();
// вот что вам надо: создать коллекцию и передать в post (и добавлять/заполнять через for || foreach для вашего случая
NameValueCollection nvc = new NameValueCollection();
nvc.Add("access_token", VK_main.TOKEN);
nvc.Add("owner_id", id_group.ToString());
nvc.Add("count", "1");
if(offset != 0) nvc.Add("offset", offset.ToString());
nvc.Add("filter", "owner");
nvc.Add("v", VK_main.VERSION);
// добавляете сколько вам нужно параметров и передаёте в метод POST вторым аргументом
string t = await mt.POST(url, nvc);
dynamic d = JObject.Parse(t);
// и далее разбираете json
//.. и т.д.
тип dynamic существует только во время компиляции, но не во время выполнения
зачем тип счетчика вообще указывать как dynamic
или нас, рядовых пользователей, взламывать не станут
насколько это сложно, насколько целесообразно ?
private void button1_Click(object sender, EventArgs e)
{
// тут какой-то код
}
private void label_Click(object sender, EventArgs e)
{
Label lb = sender as Label;
lb.Content = "какой-то текст";
// или
int x;
switch((sender as Label).Name)
{
case "label": x = 0; break;
case "label2": x = 1; break;
case "label3": x = 2; break;
default: x = -1; break;
}
}
Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
Graphics graphics = Graphics.FromImage(printscreen as Image);
graphics.CopyFromScreen(0, 0, 0, 0, printscreen.Size);
var ms = new MemoryStream();
printscreen.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
string convertedImg = Convert.ToBase64String(ms.ToArray(), Base64FormattingOptions.None);
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAMABVYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRV... и т.д.
<img alt="" src="data:image/png;base64,ТУТ_ПРОБЕЛА_У_ВАС CONVERTED_BASE64"/>
между base64, и CONVERTED_BASE64)