![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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
|
|||
|
|||
|
Цитата:
|