0

PHP で記述されたコードがあり、現在共有ホスティングで実行されています。これを Google App Engine に移動します。

sendRequest()メソッドは、投稿データと Cookie を別の Web サイトに送信し、応答を返します。

private function sendRequest($url, array $data = array()) {
    $ch = curl_init(self::URL_BASE);
    $curlConfig = array(
        CURLOPT_URL => $url,
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_COOKIE => "user_name=" . $this->username . "; user_password=" . md5($this->password));
    if ($url == self::URL_LOGIN) {
        $this->cookieFile = tempnam("/tmp", "CURLCOOKIE");
        $curlConfig[CURLOPT_COOKIEJAR] = $this->cookieFile;
    } else {
        $curlConfig[CURLOPT_COOKIEFILE] = $this->cookieFile;
    }
    curl_setopt_array($ch, $curlConfig);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

問題:

  • CURL モジュールは App Engine でサポートされていません
  • tempnam()機能が無効になっています

いろいろ検索しましたが、代替品が見つかりませんでした。fsockopen()も無効です。

4

1 に答える 1

1

ここの例に従って、ストリーム コンテキストを使用してリクエストに Cookie を設定します。

コードから、Cookie を永続化する理由と期間が不明です。代わりに、この目的でmemcacheを使用できますか?

于 2013-09-30T04:06:43.510 に答える