PHPのキャプチャページデータ-最終版
3215 ワード
最近会社でプロジェクトを開発して、クライアント人員と協力してインタフェースを開発して、インタフェースの中でクライアント人員から伝達されたヘッダ情報を受け入れる必要があるので、ブラウザの中でこのインタフェースにアクセスすることはできません.あなたが伝達したパラメータが不完全なため、最近1つの方法を考えました:それはローカルでいくつかのデータの提出をシミュレートすることです.この時本人が使っていたのはfsockopen関数で、この関数はとてもいいです.
function index(){
$posturl = "XXX";
$Did = '352110051958276';
$Key = md5($Did.$this->Keym);
$ms = $this->require_by_socket("Mm","action",$posturl,$Did,$Key);
//$this->display();
echo $ms;
}
function require_by_socket($action,$method,$posturl,$Did,$Key) {
$fp = fsockopen ( "$posturl", 80, $errno, $errstr, 30 );
if (! $fp) {
echo "$errstr ($errno)
";
} else {
//$params = array ('did' => 1009, 'ver' => '199/9/201208','filmid' => 18 );
//$post = http_build_query($params);
$post = "did=352110051958276&ver=199/22/20121222&filmid=18&model=HTC&os=and&pid=1&refresh=1";
//echo $post;exit;
$header = "POST /service/index.php/$action/$method HTTP/1.1\r
";
$header .= "Host: $posturl\r
";
$header .= "Content-Type:application/x-www-form-urlencoded" . "\r
";
$header .= "Content-Length: " . strlen ( $post ) . "\r
";
$header .="Did:$Did\r
";
$header .="Key:$Key\r
"; // header
$header .= "Connection: Close\r
\r
";
$header .= $post."\r
";
$inheader = 1;
fputs ( $fp, $header );
while ( ! feof ( $fp ) ) {
$result = fgets ( $fp, 1024 ); //
if ($inheader && ($result == "
" || $result == "\r
")) {
$inheader = 0;
}
//echo $inheader;exit;
if ($inheader == 0) {
$info .= $result;
}
}
fclose ( $fp );
return $info;
}
}
:
$header .="Did:$Did\r
";
$header .="Key:$Key\r
";
, 。
:
CURL: