私は、Appleのユーザーにとって使いやすいものを作るためのスクリプトを作ろうとしていますが、今はそれを公開したくはありませんが、データの投稿がPHPのCurlで機能していない
- アップルにログインしてクッキーを保存してください。
- リンゴから保存されたクッキーを使用してデータを取得しています。
- 自動化ツールの作成。
私はjsonヘッダーを提出する必要があるため、最初のステップでは固まっていますが、Curlはカスタムヘッダーを送信していません。ここで
は私のコードです:
<?php
function login($url,$data){
$data=json_encode($data);
$login = curl_init();
curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($login, CURLOPT_NOBODY, false);
curl_setopt($login, CURLOPT_HEADER, false);
curl_setopt($login, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($login, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($login, CURLOPT_TIMEOUT, 40000);
curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($login, CURLOPT_URL, $url);
curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($login, CURLOPT_POST, TRUE);
curl_setopt($login, CURLOPT_POST, 1);
curl_setopt($login, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data))
);
curl_setopt($login, CURLOPT_POSTFIELDS, $data);
//ob_start();
$rez=curl_exec ($login);
}
$data = array("accountName" => "[email protected]", "password" => "MyPassWord","rememberMe" => "true");
$url="https://idmsa.apple.com/appleauth/auth/signin";
login($url,$data);
?>
私がリクエストを送信する際、データを改ざんしようとするたびに、それはこれがコメントとして管理不能になるカスタムヘッダー
をステータスを取得することができますどのようにヘッダの有無をチェックしますか? (どのようにそれらが送信されていないことを知っていますか) – BeetleJuice
私は改ざんデータ、FireFox拡張機能、HTTPFoxを使ってGETかPOSTかを確認しています。 – YAK
私の言うことです:あなたのコードはあなたのサーバーからAppleに向かうリクエストを開始します。では、ブラウザはあなたのサーバーとAppleサーバー間のトラフィックをどのように見ることができますか?ブラウザから取得する情報は、ブラウザとサーバー間のトラフィックに関するものです。 'GET'は、ブラウザがサーバーからページを取得するために使用したメソッドです。必ずしもcURLがAppleを呼び出すメソッドである必要はありません。これは、どのようにヘッダがcURLによって送信されるかを教えてくれるかを尋ねる理由です。 – BeetleJuice