php 远程post,对方需要用户名密码验证,怎么做 密码验证指的是显示一个图片让你输入验证码?这貌似就不可能实现了如果只是需要一个密码,那它是怎么接受密码的呢?直接post过去不行吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一例子:<?/******************************************************************************Filename : post_class_example.phpAuthor : Date/time : Purpose : Description : 模拟POST数据提交接口示例Revisions : 向地址:http://www.example.com/register.php POST数据******************************************************************************/error_reporting(0);//要post的数据 $argv = array( 'username'=>'abc', 'password'=>'abc', 'email'=>'[email protected]');$server="www.example.com";$port=80;$url="/register.php";$host="www.example.com";$referer="http://www.xxx.com";//这里可以写你自己的网站地址require_once("post_class.php");$post = new DoPost();$return = $post->_post($server,$port,$url,$host,$referer,$argv);echo $return;?><?/******************************************************************************Filename : post_class.phpAuthor : Date/time : Purpose : Description : 模拟POST数据提交接口Revisions : ******************************************************************************/class DoPost{ var $flag = 0; var $return = ""; /** * 提交POST数据 * * @param string $server POST请求服务器IP或域名地址 * @param int $port POST请求服务器端口 * @param string $url POST请求地址 * @param string $host POST请求主机地址 * @param string $referer POST请求REFERER地址 * @param string $argv POST请求参数 * @return string POST请求返回串 */ public function _post($server,$port=80,$url,$host,$referer,$argv=Array()) { //构造要post的字符串 foreach ($argv as $key=>$value) { if ($this->flag!=0) { $params .= "&"; $this->flag = 1; } $params.= $key."="; $params.= urlencode($value); $this->flag = 1; } $length = strlen($params); //创建socket连接 $fp = fsockopen($server,$port,$errno,$errstr,10); if(!$fp) { return ("ERROR:".$errno); } //构造post请求的头 $header = "POST ".$url." HTTP/1.1\r\n"; $header .= "Host:".$host."\r\n"; $header .= "Referer:".$referer."\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) { $this->return .= $line; } } fclose($fp); return $this->return; }}?> 谢谢,你知道$header = "POST ".$url." HTTP/1.1\r\n"; $header .= "Host:".$host."\r\n"; $header .= "Referer:".$referer."\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"; 这里怎么加nt验证信息吗?比如用户名密码 ucHome的问题 如何通过字段数据去判断指向某个网址 PHP 页面如何自动跳转到另一个页面底部?? php 操作两个数据库的问题 关于SNS网站中不同用户不同页面的实现 我等了10分钟。为什么SESSION就是不失效?!!!!疯了啊。。。SAVE ME PLEASE!!! 请教高手,有关PHP的问题! 表单中带有特殊字符如''<>"等特殊字符提交到数据库中会出错 为什么我关闭浏览器后session还存在? 谁能给出一个复制整个文件夹的函数? 一个很简单的问题 如下结构怎么实现
<?
/******************************************************************************
Filename : post_class_example.php
Author :
Date/time :
Purpose :
Description : 模拟POST数据提交接口示例
Revisions : 向地址:http://www.example.com/register.php POST数据
******************************************************************************/
error_reporting(0);
//要post的数据
$argv = array(
'username'=>'abc',
'password'=>'abc',
'email'=>'[email protected]'
);
$server="www.example.com";
$port=80;
$url="/register.php";
$host="www.example.com";
$referer="http://www.xxx.com";//这里可以写你自己的网站地址require_once("post_class.php");
$post = new DoPost();
$return = $post->_post($server,$port,$url,$host,$referer,$argv);
echo $return;
?>
<?
/******************************************************************************
Filename : post_class.php
Author :
Date/time :
Purpose :
Description : 模拟POST数据提交接口
Revisions :
******************************************************************************/
class DoPost
{
var $flag = 0;
var $return = "";
/**
* 提交POST数据
*
* @param string $server POST请求服务器IP或域名地址
* @param int $port POST请求服务器端口
* @param string $url POST请求地址
* @param string $host POST请求主机地址
* @param string $referer POST请求REFERER地址
* @param string $argv POST请求参数
* @return string POST请求返回串
*/
public function _post($server,$port=80,$url,$host,$referer,$argv=Array())
{
//构造要post的字符串
foreach ($argv as $key=>$value)
{
if ($this->flag!=0)
{
$params .= "&";
$this->flag = 1;
}
$params.= $key."="; $params.= urlencode($value);
$this->flag = 1;
}
$length = strlen($params);
//创建socket连接
$fp = fsockopen($server,$port,$errno,$errstr,10);
if(!$fp)
{
return ("ERROR:".$errno);
}
//构造post请求的头
$header = "POST ".$url." HTTP/1.1\r\n";
$header .= "Host:".$host."\r\n";
$header .= "Referer:".$referer."\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) {
$this->return .= $line;
}
}
fclose($fp);
return $this->return;
}
}
?>
$header .= "Host:".$host."\r\n";
$header .= "Referer:".$referer."\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";
这里怎么加nt验证信息吗?比如用户名密码