![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Делаю отправку новости на dle сайты, но проблема.
Но на большинстве сайтов нужно парсить значение. Вот код: Код:
var LoginData, Response: TStrings; str,s:string; n:integer; begin idhttp1.CookieManager:=idcookiemanager1; LoginData := TStringList.Create; Response := TStringList.Create; try LoginData.Add('title='+title.text); LoginData.Add('catlist[]=3'); LoginData.Add('bbfont=0'); LoginData.Add('bbsize=0'); LoginData.Add('short_story='+brief.text); LoginData.Add('full_story='+ful.Text); LoginData.Add('tags='); LoginData.Add('allow_comm=1'); LoginData.Add('allow_main=1'); LoginData.Add('approve=1'); LoginData.Add('allow_rating=1'); LoginData.Add('add=Отправить'); LoginData.Add('add=отправить'); LoginData.Add('mod=addnews'); Response.Text:=idhttp1.Post(site.text+'addnews.html',logindata); Response.Text:=idhttp1.Post(site.text+'index.php?do=addnews',logindata); except end; end; вот примеры сайтов, на которых нужно парсить значение: http://02-online.ru/ http://xtreme.ws/ логин YaModeratoR12 пароль YaModeratoR12 помогите пожалуйста Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#2
|
|||
|
|||
![]() Как я понял - это токен. Нужно сделать гет запрос на нужную страницу и оттуда его спарсить. Это просто.
Или я не так понял? |
#3
|
|||
|
|||
![]() Ну сделал как то так, парсит то нормально, но почему то , не работает
![]() что делать? Код:
var LoginData, Response: TStrings; str,s,stroka,hranilishe:string;n:integer; begin idhttp1.CookieManager:=idcookiemanager1; LoginData := TStringList.Create; Response := TStringList.Create; try // str:=idhttp1.Get(site.Text+'addnews.html'); n:=pos('<input type="hidden" name="mod" value="addnews" />',str)+length('<input type="hidden" name="mod" value="addnews" />'); stroka:= copy(str,n,posex('/>',str,n)-n); memo1.text:=copy(str,n,posex('/>',str,n)-n); str:=stroka; n:=pos('<input type="hidden" name="',str)+length('<input type="hidden" name="'); edit1.Text:= copy(str,n,posex('" value="',str,n)-n); str:=memo1.text; n:=pos('<input type="hidden" name="'+edit1.text+'" value="',str)+length('<input type="hidden" name="'+edit1.text+'" value="'); edit2.Text:= copy(str,n,posex('"',str,n)-n); // LoginData.Add('title='+title.text); LoginData.Add('catlist[]=3'); LoginData.Add('bbfont=0'); LoginData.Add('bbsize=0'); LoginData.Add('short_story='+brief.text); LoginData.Add('full_story='+ful.Text); LoginData.Add('tags='); LoginData.Add('allow_comm=1'); LoginData.Add('allow_main=1'); LoginData.Add('approve=1'); LoginData.Add('allow_rating=1'); LoginData.Add('add=Отправить'); LoginData.Add('add=îòïðàâèòü'); LoginData.Add('mod=addnews'); LoginData.Add(edit1.Text+'='+edit2.text); Response.Text:=idhttp1.Post(site.text+'addnews.html',logindata); Response.Text:=idhttp1.Post(site.text+'index.php?do=addnews',logindata); except end; end; Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#4
|
|||
|
|||
![]() парс нормальное значение возвращает? Пробывал поработать с браузером, что он говорит?
|
#5
|
|||
|
|||
![]() Цитата:
С браузером не работал,можно подробней? Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#6
|
|||
|
|||
![]() составляешь запрос, вставляешь в адресную строку и смотришь что тебе возвращает сервер
|
#7
|
|||
|
|||
![]() Цитата:
Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#8
|
|||
|
|||
![]() допустим ты делаешь запрос в программе:
http.Get('http://%saitname%.ru/%params%'); Вот и все это дело вставь в адресную строку браузера и направь, смотри ответ с сервера. |
#9
|
|||
|
|||
![]() Цитата:
типа такого? memo1.text:=idhttp1.get(site.text+'addnews.html',l ogindata); Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#10
|
|||
|
|||
![]() Там все просто
Делаешь get на страницу. Циклом пробегаешься, удаляя не нужные инпуты Дебагером не могу пользоваться, юзаю form1.caption (если в потоке) или showmessage. Это для того, что бы выводить быть в курсе того, что программа делает в данный момент, например showmessage(token) Ну далее все понятно Последний раз редактировалось Zo_Omer, 10.08.2012 в 00:26. |
#11
|
|||
|
|||
![]() сам лично сижу на шоу мессадж. Неудобно и удобно одновременно
|
#12
|
|||
|
|||
![]() Цитата:
Как сделал я, токены парсит хорошо, все в порядке, только не пойму почему не отправляет. Вот еще вопрос. Я отправляю гет запрос , что бы спарсить значение, а потом пост, возможно значения меняются? и надо как то по другому? Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#13
|
|||
|
|||
![]() Цитата:
Кинь исходник, гляну - попробую помочь |
#14
|
|||
|
|||
![]() Цитата:
http://rghost.ru/39698738 вот исходник. Отправляет на сайты, но не на все, точнее из 4 попробованных только на 1 , и то на нем не надо было парсить значения Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#15
|
|||
|
|||
![]() помогите пожалуйста
Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |