我在PHP中使用以下代码,托管与Google AppEngine通过POST请求创建URL项目来保存文件到Cloudup.com
<?php
$username = 'username';
$password = 'password';
$req = array('url' => 'http://www.example.com/files/test.pdf');
$req= http_build_query($req);
$header = "POST /items/url HTTPS/1.1\r\n".
"Host: cloudup.com\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"User-Agent: PHP-Code\r\n".
"Content-Length: " . strlen($req) . "\r\n".
"Authorization: Basic ".base64_encode($username.':'.$password)."\r\n".
"Connection: close\r\n\r\n";
$result = '';
$fp = fsockopen ('ssl://www.cloudup.com', 443, $errno, $errstr, 30);
if (!$fp) {
// HTTP ERROR
echo 'error';
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$result .= fgets ($fp);
var_dump($result);
}
fclose ($fp);
}
?>
所有请求必须通过HTTPS进行,否则将被拒绝。因此我在app.yaml中使用了以下Handler:
- url: /home
script: main.php
secure: always
要使用套接字,我已启用结算功能。
Cloudup URL项目的规范发布请求位于:http://dev.cloudup.com/#items-create-url
问题:获取'HTTP / 1.1 400错误请求'。请提供任何解决方案。