首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP Curl请求- Diawi API

PHP Curl请求- Diawi API
EN

Stack Overflow用户
提问于 2016-07-26 15:28:00
回答 1查看 1.2K关注 0票数 1

我在努力让我的卷发请求起作用。代码的目的是使用它们的API将文件上传到diawi.com。这是我第一次尝试使用curl,我不确定正确的语法。

这是我的代码:

代码语言:javascript
复制
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'https://upload.diawi.com/',
    CURLOPT_HTTPHEADER => array(
        "cache-control: no-cache",
        "content-type: multipart/form-data"
    ),
    CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2',
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => array(
        token => 'token',
        file => 'http://example.com/apps/myapp.ipa',
        find_by_udid => 0,
        wall_of_apps => 0,
        callback_url => 'http://www.example.com/apps/diawi_response.php',
        callback_email => 'me@company.com'
    )
));

$resp = curl_exec($curl);
curl_close($curl);
echo $resp;

目前,我得到的回复是“没有上传文件”。

下面是文档中的示例请求:

代码语言:javascript
复制
$ curl https://upload.diawi.com/ -F token='TOKEN' \
-F file=@MyApp.ipa \
-F find_by_udid=0 \
-F wall_of_apps=1 \
-F password='installation password' \
-F comment='Comment on the build' \
-F callback_url='http://www.example.com/my-diawi-callback-url' \
-F callback_email='me@company.com'

如果你能给我任何帮助,我将不胜感激。

测试令牌: MrdS5g9MpZhKn8jlJNuANRlmPuSBkBxWX1LTIptn8p

测试文件:http://defu.se/ESFileExplorer.apk

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-26 17:40:14

利用这个来源。

代码语言:javascript
复制
<?php
    ini_set('display_errors', 1);
    $url = "https://upload.diawi.com/"; 
    $filename = realpath('./ESFileExplorer.apk');
    if ($filename != '')
    {
        $headers = array("Content-Type: multipart/form-data"); // cURL headers for file uploading
        $postfields = array(
            "token"             => 'YOUR-TOKEN',
            "file"              => new CurlFile( $filename ),
            "find_by_udid"      => 0,
            "wall_of_apps"      => 1,
            "callback_email"    => 'xxxxx@gmail.com'
            );
        $ch = curl_init();
        $options = array(
            CURLOPT_URL => $url,
            CURLOPT_HEADER => true,
            CURLOPT_POST => 1,
            CURLOPT_HTTPHEADER => $headers,
            CURLOPT_POSTFIELDS => $postfields,
            CURLOPT_USERAGENT => 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0'
        ); // cURL options
        curl_setopt_array($ch, $options);
        curl_exec($ch);
        if(!curl_errno($ch))
        {
            // echo $ch;
            $info = curl_getinfo($ch);
            if ($info['http_code'] == 200)
                $errmsg = "File uploaded successfully";
            // print_r($info);
        }
        else
        {
            $errmsg = curl_error($ch);
        }
        curl_close($ch);
    }
    else
    {
        $errmsg = "Please select the file";
    }
    echo $errmsg;
?>

结果我得到了

HTTP/1.1 100继续HTTP/1.1 200 OK Server: nginx内容-类型: application/json传输-编码:分组连接:保持-活动变化:接受-编码缓存-控制:无缓存日期: Tue,2016年7月26日19:40:33 GMT严格传输-安全性:最大年龄=15768000 {"job":"U37Nq7ta3Q711AsbvYrODFfvTLoyNwY4XslCFI7oV0"}File成功上传

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38594065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档