PDA

Просмотр полной версии : WebBrowser C#[Neeb help]


cheater_man
15.05.2010, 14:39
акк
57206324;N8xXJ1Gt
Нужно на
http://www.icq.com/people/57206324/edit/
Нажать кнопку сохранить.
Вот она

<div class="submitform">
<div class="submitcorner"></div>
<div class="submitbutton">Сохранить</div>
</div>

И как же её нажать если у нее нет id?

BrainDeaD
15.05.2010, 14:45
submitbutton и должен быть id.

Document.Forms[0].All["submitbutton"].InvokeMember("Click");

HakaR
15.05.2010, 14:47
А не проще ли не юзать webbrowser, а отправить запрос через пост\гет?

cheater_man
15.05.2010, 15:03
submitbutton и должен быть id.

Document.Forms[0].All["submitbutton"].InvokeMember("Click");
не катит.

BrainDeaD
15.05.2010, 15:10
это был всего лишь пример. я не знаю значеня твоей формы в массиве, названийе твоего браузера и т.д.

гугл в помощь http://www.google.com/search?client=opera&rls=en&q=Document.Forms%5B*%5D.All%5B*%5D.InvokeMember&sourceid=opera&ie=utf-8&oe=utf-8

cheater_man
15.05.2010, 15:16
это был всего лишь пример. я не знаю значеня твоей формы в массиве, названийе твоего браузера и т.д.

гугл в помощь http://www.google.com/search?client=opera&rls=en&q=Document.Forms%5B*%5D.All%5B*%5D.InvokeMember&sourceid=opera&ie=utf-8&oe=utf-8
этот метод вообще не катит нужно что-то не оригинальное, т.к. у баттона нет id!

scrat
15.05.2010, 18:46
А не проще ли не юзать webbrowser, а отправить запрос через пост\гет?
не проще.

need_million
16.05.2010, 11:13
проще гет\пост, фидлером2 отловил и передаешь так же потом

AlexTheC0d3r
16.05.2010, 13:16
http://zemus.us/05/smena-info-icq.html
вот то, что тебе нужно

cheater_man
17.05.2010, 13:34
отправляю пост запрос.
Возникает проблема с русскими буквами.
Например:
отправляю слово: привет
на сервер приходит:?????

webBrowser1.Navigate("http://www.icq.com/people/" + emails[count - 1] + "/edit-submit",
"_self",
System.Text.ASCIIEncoding.ASCII.GetBytes(
"firstName=" + name1 +
"&friendlyName=" + nik1 +
"&aboutMe=" + aboutme +
"&gender=" + gender +
"&birthDateDay=" + day +
"&birthDateMonth=" + month +
"&birthDateYear=19" + birday +
"homeAddressCity=" + homesity +
"&homeAddressCountry=" + countriii),
"Content-Type: application/x-www-form-urlencoded\r\n");

Да знаю что проблема в кодировке.
Как решить проблему?

need_million
17.05.2010, 13:55
HttpUtility.UrlEncode(строка, кодировка)

cheater_man
17.05.2010, 13:59
HttpUtility.UrlEncode(строка, кодировка)
В каком хотя-бы namespace'е это???

AlexTheC0d3r
17.05.2010, 14:01
отправляю пост запрос.
Возникает проблема с русскими буквами.
Например:
отправляю слово: привет
на сервер приходит:?????

webBrowser1.Navigate("http://www.icq.com/people/" + emails[count - 1] + "/edit-submit",
"_self",
System.Text.ASCIIEncoding.ASCII.GetBytes(
"firstName=" + name1 +
"&friendlyName=" + nik1 +
"&aboutMe=" + aboutme +
"&gender=" + gender +
"&birthDateDay=" + day +
"&birthDateMonth=" + month +
"&birthDateYear=19" + birday +
"homeAddressCity=" + homesity +
"&homeAddressCountry=" + countriii),
"Content-Type: application/x-www-form-urlencoded\r\n");

Да знаю что проблема в кодировке.
Как решить проблему?
urlencoded

Закодируй всю кирилицу

и еще... если уже пост запросы отправляешь, нафига браузер используешь?

cheater_man
17.05.2010, 18:35
urlencoded
Закодируй всю кирилицу

Это понятно :D :D
Методы предлагайте какими это реализовать!!

и еще... если уже пост запросы отправляешь, нафига браузер используешь?

Как видишь пост запрос через webbrowser.

greki_hoy
17.05.2010, 19:27
2 cheater_man - например так


char *
encode(unsigned char *url, char *out)
{
char *ret = out;
while (*url)
out += sprintf(out, "%%%.2x", *url++);
return ret;
}

W!z@rD
17.05.2010, 21:12
2 cheater_man - например так


char *
encode(unsigned char *url, char *out)
{
char *ret = out;
while (*url)
out += sprintf(out, "%%%.2x", *url++);
return ret;
}


на асме еще покажи. Умник.

В каком хотя-бы namespace'е это???

http://msdn.microsoft.com/ru-ru/library/system.web.httputility.urlencode(VS.90).aspx

первый результат в гугле. Тяжело скопировать!?

cheater_man
17.05.2010, 23:17
Проблема решена:

byte[] sentData = Encoding.GetEncoding(1251).GetBytes("firstName=" + System.Web.HttpUtility.UrlEncode(name1)+
"&friendlyName=" + System.Web.HttpUtility.UrlEncode(nik1) +
"&aboutMe=" + System.Web.HttpUtility.UrlEncode(aboutme) +
"&gender=" + gender +
"&birthDateDay=" + day +
"&birthDateMonth=" + month +
"&birthDateYear=19" + birday +
"&homeAddressCity=" + System.Web.HttpUtility.UrlEncode(homesity) +
"&homeAddressCountry=" + countriii
);
webBrowser1.Navigate("http://www.icq.com/people/" + emails[count - 1] + "/edit-submit",
"_self",sentData,"Content-Type: application/x-www-form-urlencoded\r\n");