从Google Appengine向Cloudup发送POST请求时出现400错误请求错误

时间:2014-02-10 14:46:25

标签: php google-app-engine post

我在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错误请求'。请提供任何解决方案。

0 个答案:

没有答案