Уже который день голову ломаю, нехера абсолютно не получается, решил обратится к знающим. 1 - Как получить код html страницы через socks 4/5 на winsocks? Готовые компоненты типо indy и прочее, не интересуют. 2 - Есть такой код : PHP: function test(host:string):string; var I,B:integer; buff:string; begin i:=Pos('str1',Buff); b:=Pos('str2',Buff); if i > 0 then form1.Memo2.Lines.Add(host); if b > 0 then form1.Memo2.Lines.Add(host) else form1.Memo3.Lines.Add(host) end; Функция проверяет в buff 2 слова к примеру, если первое слово не нашло, то нужно проверить второе, и записать , если второе слово не нашло, то тогда записать в другое memo. У меня нихрена не получается почему то, в delphi не особо силён, ткните пожалуйста носом где я туплю, и как сделать код чтоб работал.В гугле пробывал искать решение проблемы так и не нашел, так как незнаю где именно туплю. Зарание благодарю кто поможет. upd:Если в buff нет слова, почему то закидывает все равно в memo2 upd 2: Если сначала проверить слово которое есть , а потом которого нет в buff , кидает всё в одно кучу, а если сначала проверить которого нет, то всё нормально,до того, пока снова не проверю слово, которое есть, что сделать чтоб исправить чтобы нормально работало?
Берете книгу по сокетам, читаете, получаете, по Socks4/5 читаете RFC перечитайте, осмыслите и перепишите этот бред более внятно
PHP: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp; const Request: AnsiString = 'GET / HTTP/1.1' + #$D#$A + 'Accept: application/vnd.ms-excel, application/msword, */*' + #$D#$A + 'Accept-Language: en-us' + #$D#$A + 'Accept-Encoding: gzip, deflate' + #$D#$A + 'User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)' + #$D#$A + 'Host: antichat.ru' + #$D#$A + 'Connection: Keep-Alive' + #$D#$A + #$D#$A; type TForm1 = class(TForm) Skt: TClientSocket; Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); procedure SktRead(Sender: TObject; Socket: TCustomWinSocket); procedure SktConnect(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin Skt.Host := 'forum.antichat.ru'; Skt.Port := 80; Skt.Open; end; procedure TForm1.SktRead(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Text := Memo1.Lines.Text + Socket.ReceiveText; end; procedure TForm1.SktConnect(Sender: TObject; Socket: TCustomWinSocket); begin Socket.SendText(Request); end; end.
shadowrun, если не знаешь лучше не пиши и не путай человека, то, что ты написал - это простой get запрос на стандартной обертке к winsock и никаким образом не связанный с запросом через socks4/5
всё решил проблему, психанул,удалил нахер делфи, сходил прогулялся , и переписал на Php с curl , работает как часики, только через консольку, ну что ж хоть через консольку,но работает. тему можно delete.
Использование сокетов в Delphi. по аналогии на этом сайте поищи статьи про SOCKS по поводу HTTP - почитай мою писанину, два