1、我不认识flywhc,这段是从CSDN找的
2、要两条TCP连接为一对,POST是客户端发数据给服务器,GET是客户端从服务器收数据
3、HTTPS应该资料不少,用GOOGLE查查看,或者再开个帖子问问
4、我很久不用QQ了
5、我有个朋友,以前做过一套IM系统,可以通过HTTP代理,他是用DELPHI的哪些个HTTP
支持控件作的,好象是WEBSNAP之类吧,我不太懂,你可以去WWW。51DICO。COM下一个DICO,
或者登陆论坛,然后,找西狗、WESTDOG、LJX之类的ID,可以联系上他,8-),麻烦吧。
6、还有,最近我用了一下SYNAPSE(OPENSOURCE的一套TCP/IP库),发现他支持通过
HTTPTUNNEL连到外面INTERNET的,我不清楚这个HTTPTUNNEL到底是什么,下面是她关于
和HTTPTUNNEL连接的代码:
procedure TTCPBlockSocket.HTTPTunnelDoConnect(IP, Port: string);
//bugfixed by Mike Green (mgreen@emixode.com)
var
s: string;
begin
try
FBypassFlag := True;
inherited Connect(FHTTPTunnelIP, FHTTPTunnelPort);
if FLastError <> 0 then
Exit;
FHTTPTunnel := False;
SendString('CONNECT ' + IP + ':' + Port + ' HTTP/1.0' + #$0d + #$0a);
if FHTTPTunnelUser <> '' then
Sendstring('Proxy-Authorization: Basic ' +
EncodeBase64(FHTTPTunnelUser + ':' + FHTTPTunnelPass) + #$0d + #$0a);
SendString(#$0d + #$0a);
repeat
s := RecvTerminated(30000, #$0a);
if FLastError <> 0 then
Break;
if (Pos('HTTP/', s) = 1) and (Length(s) > 11) then
FHTTPTunnel := s[10] = '2';
until (s = '') or (s = #$0d);
if (FLasterror = 0) and not FHTTPTunnel then
FLastError := WSASYSNOTREADY;
FHTTPTunnelRemoteIP := IP;
FHTTPTunnelRemotePort := Port;
finally
FBypassFlag := False;
end;
ExceptCheck;
end;
执行这个函数之后,就可以和主机(IP, Port)连接,它用的‘CONNECT’我不清楚是什么,
不知道是不是HTTPS或者HTTP新加的东东,你可以到http://www.ararat.cz/synapse/下载一个,
试试。我这里没有HTTP代理,所以没有办法试,8-(