Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)归海一刀
published in(发表于) 2014/2/10 6:55:08
用php模拟post来提交数据_[PHP教程]

用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/
来源:网络
























If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759