Вверх ↑
Этот топик читают: Гость
Ответов: 373
Рейтинг: 108
#1: 2009-03-31 05:00:13 ЛС | профиль | цитата
убрал PHPSESSID
сайты же и на asp бывают



исправил ошибку которая приводила к несовместимости
pas

unit hiHTTP_PostBuilder;

interface

uses Kol,Share,Debug;

type
THIHTTP_PostBuilder = class(TDebug)
private
public
_prop_Content:string;
_prop_URL:string;
_prop_Host:string;
_prop_Referer:string;

_data_Referer:THI_Event;
_data_Host:THI_Event;
_data_URL:THI_Event;
_data_Content:THI_Event;
_data_Session:THI_Event;
_event_onBuild:THI_Event;

procedure _work_doBuild(var _Data:TData; Index:word);
end;

implementation

procedure THIHTTP_PostBuilder._work_doBuild;
var s,c,u,h,r,ss:string;
begin
c := ReadString(_Data, _data_Content, _prop_Content);
u := ReadString(_Data, _data_URL, _prop_URL);
h := ReadString(_Data, _data_Host, _prop_Host);
r := ReadString(_Data, _data_Referer, _prop_Referer);
ss := ReadString(_Data, _data_Session);
s := 'POST ' + u + ' HTTP/1.1'#13#10 +
'Host: ' + h + #13#10 +
'Content-Type: application/x-www-form-urlencoded' + #13#10;
if r <> '' then
s := s + 'Referer: ' + r + #13#10;
if ss <> '' then
s := s + 'Cookie: ' + ss + #13#10;

s := s + 'Content-Length: ' + int2str(length(c)) + #13#10 + #13#10 + c + #13#10;
_hi_onEvent(_event_onBuild, s);
end;

end.

ini

[About]
Version=1.0
Author=Dilma
Mail=hiasm@mail.ru

[Type]
Class=Element
Info=Построитель POST запроса
Tab=Internet

[Property]
Content=Данные для отправки запроса|2|
URL=Адрес траницы, обрабатывающей запрос|2|
Host=Имя хоста, обрабатывающего запрос|2|
Referer=Адрес страницы, с которой отправляется запрос|2|

[Methods]
doBuild=Формирует POST запрос для отправки на сервер|1|0
onBuild=Событие происходит всякий раз после формирования POST запроса и выдает его в поток ARG(PostText)|2|0
Content=Данные для отправки запроса|4|2
URL=Адрес траницы, обрабатывающей запрос|4|2
Host=Имя хоста, обрабатывающего запрос|4|2
*Referer=Адрес страницы, с которой отправляется запрос|4|2
*Session=Cookie|4|2

карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2009-03-31 10:29:03 ЛС | профиль | цитата
Vlad.-, для этого надо было делать параметр Cookie
карма: 27
0
Ответов: 876
Рейтинг: 101
#3: 2009-03-31 13:29:29 ЛС | профиль | цитата
а можно ли на базе этого компонента сделать HTTP_GetBuilder

генерим подобную строку и кидаем на tcp

GET / HTTP/1.1
User-Agent: Opera/9.64 (Windows NT 5.1; U; en) Presto/2.1.1
Host: www.google.lv
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Cookie: PREF=ID=5aada6899ae6f668:TM=1232544408:LM=1232544408:S=u4LCXaAdHJ0zDfAR; NID=21=TvyTLw3tnRx7CAPMhv7L63SAqKeDYPUfkAvi0BXw_TTnzYaA0eAZQWB5-MxnZAZBh49TmR75vgZgu_hfPbBc67xwn5cOcn5v0kGruSi3kahWR97EVOUbnGYrnCDfMFzu
Cookie2: $Version=1
Connection: Keep-Alive

это бы сильно упростило мою схему
карма: 1

0
Ответов: 3514
Рейтинг: 184
#4: 2009-03-31 14:41:31 ЛС | профиль | цитата
разве бывают такие GET?
карма: 0
0
Ответов: 1161
Рейтинг: 160
#5: 2009-03-31 14:58:07 ЛС | профиль | цитата
а что разве не бывают? просто файл не указан
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2009-03-31 15:53:59 ЛС | профиль | цитата
бывают. Но в большинстве случаев такой GET делается так


Add(HTTP_Get,15710722,539,224)
{
URL="http://www.google.lv"
}

карма: 27
0
Ответов: 876
Рейтинг: 101
#7: 2009-03-31 16:50:10 ЛС | профиль | цитата
а если надо куки и Referer урл. то как быть ?
карма: 1

0
Ответов: 3514
Рейтинг: 184
#8: 2009-03-31 16:53:29 ЛС | профиль | цитата
В принципе могу сделать )
карма: 0
0
Ответов: 373
Рейтинг: 108
#9: 2009-03-31 17:02:50 ЛС | профиль | цитата
Dilma писал(а):
для этого надо было делать параметр Cookie

так я так и сделал.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#10: 2009-03-31 17:18:50 ЛС | профиль | цитата
Vlad.- писал(а):
так я так и сделал.

нет не так. Был убран Session и добавлен Cookie - эта операция приводит к несовместимостям со старыми версиями
карма: 27
0
Ответов: 373
Рейтинг: 108
#11: 2009-04-01 05:04:55 ЛС | профиль | цитата
Dilma писал(а):
приводит к несовместимостям со старыми версиями


HTTP_PostBuilder.ini тоже подправлен ^code_12515.txt

------------ Дoбавленo:

flud писал(а):
а можно ли на базе этого компонента сделать HTTP_GetBuilder

[url]----удалил------[/url]
карма: 0

1
Голосовали:flud
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)