All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
用php模拟post来提交数据_[PHP教程]

Writer: 归海一刀 Article type: Programming skills(编程技巧) Time: 2014/2/10 6:55:08 Browse times: 461 Comment times: 0

用php模拟post来提交数据_[PHP教程]


Head photo

Go homepage
Upload pictures
Write articles

用php模拟post来提交数据_[PHP教程]




























利用php的socket编程来直接给接口发送数据来模拟post的操作。




<?PHP /************************************************************************
Name: POST 测试程序 Vesion: 1.0 Date: 2004-08-05 *************************************************************************
/ flag = 0;
//要post的数据
argv = array(
'var1'=>'abc',
'var2'=>'你好吗');
//构造要post的字符串
foreach (argv as key=>value) {
if (flag!=0) {
params .= "&";
flag = 1;
}
params.= key."="; params.= urlencode(value);
flag = 1;
}
length = strlen(params);
//创建socket连接
fp = fsockopen("127.0.0.1",80,errno,errstr,10) or exit(errstr."--->".errno);
//构造post请求的头
header = "POST /mobile/try.php HTTP/1.1\r\n";
header .= "Host:127.0.0.1\r\n";
header .= "Referer:/mobile/sendpost.php\r\n";
header .= "Content-Type: application/x-www-form-urlencoded\r\n";
header .= "Content-Length: ".length."\r\n";
header .= "Connection: Close\r\n\r\n";
//添加post的字符串
header .= params."\r\n";
//发送post的数据
fputs(fp,header);
inheader = 1;
while (!feof(fp)) {
line = fgets(fp,1024); //去除请求包的头只显示页面的返回数据
if (inheader && (line == "\n" || line == "\r\n")) {
inheader = 0;
}
if (inheader == 0) {
echo line;
}
}
fclose(fp);
?>

还可以使用php类HttpClient

Snoopy http://sourceforge.net/projects/snoopy/
or httpClient http://scripts.incutio.com/httpclient/
来源:网络












































There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.