ホームページ > バックエンド開発 > PHPチュートリアル > PHPのcurlはget、post、cookieを実装します(サンプル紹介)_PHPチュートリアル

PHPのcurlはget、post、cookieを実装します(サンプル紹介)_PHPチュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-21 15:06:48
オリジナル
973 人が閲覧しました

dreamhost に似たホスト サービス プロバイダーは fopen の使用を示しています。 PHP のカールを使用すると、FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE および LDAP をサポートできます。 curl は、SSL 証明書、HTTP POST、HTTP PUT、FTP アップロード、Kerberos、HTTP ベースのアップロード、プロキシ、Cookie、ユーザー + パスワード証明書、ファイル転送リカバリ、http プロキシ チャネルをサポートしています。最も一般的に使用されるのは、http ベースの get および post です。方法。
コードの実装:
1. HTTP getの実装

コードをコピーします コードは次のとおりです:
$ch =curl_init("http://www.domain.com/api/index .php ?test=1") ;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // データを取得して返す
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ; // CURLOPT_RETURNTRANSFER が有効な場合にデータを取得して返す
echo $出力 =curl_exec ($ch) ;

/* ファイルに書き込みます*/
$fh = fopen("out.html", 'w') ;
fwrite($fh, $output) ; ;



2. HTTP ポストの実装
コードは次のとおりです:$url = 'http://www.domain.com/api /' ;
$ フィールド = array(
「年齢」=>'27'。 、
「メール」=>'1353777303@gmail.com'
メール'=>


注:
Post リクエストパラメータは get メソッドを使用して接続し、文字列として渡す必要があります:


例:
$params = 'userId='.$this->user_id.'&auth='.$ this->auth.'&sig='.$this->sig
クロスプラットフォームリクエストもあります。curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 自動ジャンプを使用します (非常に重要)

// 接続を開きます $ch =curl_init(); // URL を設定しますPOST 変数の数、POST データ curl_setopt($ch, CURLOPT_URL,$url) ;
curl_setopt($ch, CURLOPT_POST,count($fields)) // 有効にすると、次のように入力します。 x-www-form-urlencoded、フォーム送信と同じです。
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields); // HTTP での「POST」操作。ファイルを転送したい場合は、@ ob_start();

$result = ob_get_contents();


echo $result; で始まるファイル名が必要です。 // 接続を閉じる
curl_close($ch) ;





コードをコピー

コードは次のとおりです:



if($_GET['test'])
{
print_r ($_GET);

if($_POST)
{
print_r($_POST);
phpのcurlはCookieを送信します


2つの方法:


自動です:




コードをコピーします

コードは次のとおりです:

curl_setopt($curlHandle, CURLOPT_COOKIEJAR, 'cookie.txt '); //保存 curl_setopt($curlHandle, CURLOPT_COOKIEFILE, 'cookie.txt) '); //Read
このようにすると、COOKIE が自動的にフォローされます
最初に、訪問によって Cookie が生成され、その後、その Cookie がリンクによって使用されるようになります。
コードをコピーします
コードは次のとおりです:


function get_curlcuconent2($filename,$referer)
{
$cookie_jar = tempnam('./tmp','JSESSIONID')

$ch =curl_init(); , CURLOPT_URL, $filename);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // ファイルの読み取りと送信用の Cookie パスを設定します
curl_setopt($ch, CURLOPT_COOK IEJAR) , $cookie_jar);
$filecontent=curl_exec($ch);
$hostname="www.domain.com"
//$referer=" http://www.domain.com/";
curl_setopt($ch, CURLOPT_URL, $filename);
curl_setopt($ch, CURLOPT_REFERER, $referer); // ここを見て、Google から来たと言う事もできます
curl_setopt ($ch, CURLOPT_USERAGENT, "www.domain.com");

//$request = "JSESSIONID=abc6szw15ozvZ_PU9b-8r" //POST パラメーターを設定します
//curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
// 上記の文では、もちろん baidu であると言えます。ここで値を変更すれば、泥棒の機能 $_SERVER['HTTP_USER_AGENT'] を実現できます。
// あなた。自分でスパイダーを作成することもできます。その後、ここで CURLOPT_USERAGENT を偽装します
//このプログラムを Linux に配置して php -q で実行する場合は、特定の $_SERVER['HTTP_USER_AGENT'] も記述する必要がありますが、偽装することもできますit
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);//ページコンテンツを出力するかどうかを設定します
curl_setopt($ch, CURLOPT_GET) , 1) // post,get Past

$filecontent =curl_exec($ch);
preg_match_all("/charset=(.+?)[NULL"']/is",$filecontent, $charsetarray); if(strto lower($charsetarray[1] [0])=="utf-8")
$filecontent=iconv( 'utf-8', 'gb18030//IGNORE' , $filecontent); curl_close($ch);

image/pjpeg、application/x-shockwave-flash、text/html、* '. '/* ';
$header[]= 'Accept-Language: zh-cn '; -エージェント: Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) ';
$header[]= 'ホスト: '.$ターゲットホスト
$header[]= '接続: キープアライブ ';
$header[]= 'Cookie: '.$curl_setopt($curlHandel,CURLOPT_HTTPHEADER,$header);



http://www.bkjia.com/PHPjc/327597.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/327597.html
技術記事
dreamhost などのホスティング サービス プロバイダーは fopen の使用を示しています。 PHP のカールを使用すると、FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE および LDAP をサポートできます。カールサポート...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート