我有一个用 PHP 编写的代码,目前在我的共享主机上运行。现在我要把它移到 Google App Engine 上。
sendRequest()
方法将发布数据和 cookie 发送到另一个网站并返回响应。
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;
}
问题:
- App Engine 不支持 CURL 模块
tempnam()
功能被禁用
我搜索了很多,但找不到任何替代方案。fsockopen()
也被禁用。