点击Api并使用http发布和curl获取响应

用户名

大家好,我是一名初级php开发人员,我正在将Java代码转换为php ..在Java api上命中并正确获得响应,现在我试图在php中使用curl http post命中这是我在我的软件公司plz中的任务帮我

我要向您展示我的Java代码正确运行,然后我的php代码无法正常工作,并且不解析该API的参数,因此请您指导我

这是我的Java代码,它工作正常,我想从php做同样的工作

import java.io.*;

import java.util.jar.JarException;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.*;

class MyCode{

            public static void main(String[] args) throws JarException, JSONException
            {

                        testCustomerApiIsExposed();

            }


            public static void testCustomerApiIsExposed() throws JarException, JSONException {

               try {

                   @SuppressWarnings("deprecation")

                   HttpClient c = new DefaultHttpClient();

                   HttpPost p = new
                   HttpPost("http://link");



                    String payload = "{id:\"" + 1 + "\","  + "method:\"" + "customerApi.getApiToken" + "\", params:[\"[email protected]\", \"demo1234!\", \"\", \"\", \"\",     \"\", \"\", false, \"\", \"\"" + "]}";

                   String mimeType="";

                   /*There is something here. What constructor are we really calling here? */

                   // p.setEntity(new StringEntity( payload,ContentType.create("application/json")));

                                    p.setEntity(new StringEntity(payload));



                   HttpResponse r = c.execute(p);



                   BufferedReader reader = new BufferedReader(new InputStreamReader(r.getEntity().getContent(), "UTF-8"));

                   StringBuilder builder = new StringBuilder();

                   for (String line = null; (line = reader.readLine()) != null;) {

                       builder.append(line).append("\n");

                   }

                   JSONTokener tokener = new JSONTokener("[" + builder.toString() + "]");

                   JSONArray finalResult = new JSONArray(tokener);

                   JSONObject o = finalResult.getJSONObject(0);


                   //Getting names of the JSON object here
                   System.out.println(o.names());

                   String apiToken = (String) o.get("result");


                   System.out.println(apiToken);

               }

               catch(IOException e) {

                   System.out.println(e);

               }

            }
}

现在我在php上对此进行编码,但是没有得到响应检查它,并指导我我使用curl http post和getApiToken方法帮助我解决这个问题,我非常紧张。

这是我的PHP代码

<?php

$data = array(params);

$ch = curl_init('http://link');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch);
echo $result;
?>
萨布吉·哈桑(Sabuj Hasan)

您正在从Java代码发布JSON。因此也可以在PHP上使用json(确保格式正确):

$payload = "{params}";

卷曲选项将是

// as you are posting JSON, so tell server that you are sending json
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));

// Let server know that you are doing HTTP POST request
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);

使用这些,我得到了示例响应:

{"id":"1","result":"results"}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用curl发布获取HTTP状态代码

来自分类Dev

收集和使用从http Curl(php)发布返回的数据

来自分类Dev

使用curl命令来响应本机以获取api

来自分类Dev

无法在 PHP 中使用 curl 从 API 获取 json 响应

来自分类Dev

在iOS的JavaScriptCore中获取http发布响应

来自分类Dev

Curl HTTP发布登录和重定向

来自分类Dev

cURL发布请求:获取响应和状态代码

来自分类Dev

使用python,jQuery和AppEngine对按钮单击响应的重定向(使用http发布)

来自分类Dev

在使用HTTP客户端,但正常工作与curl命令发布tar.gz文件获取错误

来自分类Dev

使用superagent和React从API响应中获取setState

来自分类Dev

使用curl和HTTP Requester进行发布会生成不同的字典

来自分类Dev

使用Http-request在单个请求中获取响应代码和响应正文

来自分类Dev

使用Reactor Netty HTTP Client时如何获取HTTP响应正文和状态

来自分类Dev

获取响应正文并通过curl显示HTTP代码

来自分类Dev

在通过 curl 请求的 http 响应中获取分页对象

来自分类Dev

使用cURL和php执行点击和注销网站

来自分类Dev

如何使用Android Studio和Web Api通过相同的请求进行发布和获取

来自分类Dev

AWS API网关,使用相同的名称和不同的参数进行获取和发布

来自分类Dev

如何使用Android Studio和Web Api通过相同的请求进行发布和获取

来自分类Dev

如何使用C ++和Boost Asio从HTTP发布请求中获取键值

来自分类Dev

curl和http请求产生不同响应的原因

来自分类Dev

Perl / curl如何获取状态码和响应正文

来自分类Dev

使用ajax发布表单时获取html作为响应

来自分类Dev

在Wordpress中使用表单和获取/发布

来自分类Dev

使用grequests进行发布和获取

来自分类Dev

如何在Linux中使用curl分别获取http状态代码和内容

来自分类Dev

使用 api 获取错误消息发布

来自分类Dev

当有人使用Twitter API和PHP发布推文时如何获取通知

来自分类Dev

发布请求并获取xml响应

Related 相关文章

  1. 1

    如何使用curl发布获取HTTP状态代码

  2. 2

    收集和使用从http Curl(php)发布返回的数据

  3. 3

    使用curl命令来响应本机以获取api

  4. 4

    无法在 PHP 中使用 curl 从 API 获取 json 响应

  5. 5

    在iOS的JavaScriptCore中获取http发布响应

  6. 6

    Curl HTTP发布登录和重定向

  7. 7

    cURL发布请求:获取响应和状态代码

  8. 8

    使用python,jQuery和AppEngine对按钮单击响应的重定向(使用http发布)

  9. 9

    在使用HTTP客户端,但正常工作与curl命令发布tar.gz文件获取错误

  10. 10

    使用superagent和React从API响应中获取setState

  11. 11

    使用curl和HTTP Requester进行发布会生成不同的字典

  12. 12

    使用Http-request在单个请求中获取响应代码和响应正文

  13. 13

    使用Reactor Netty HTTP Client时如何获取HTTP响应正文和状态

  14. 14

    获取响应正文并通过curl显示HTTP代码

  15. 15

    在通过 curl 请求的 http 响应中获取分页对象

  16. 16

    使用cURL和php执行点击和注销网站

  17. 17

    如何使用Android Studio和Web Api通过相同的请求进行发布和获取

  18. 18

    AWS API网关,使用相同的名称和不同的参数进行获取和发布

  19. 19

    如何使用Android Studio和Web Api通过相同的请求进行发布和获取

  20. 20

    如何使用C ++和Boost Asio从HTTP发布请求中获取键值

  21. 21

    curl和http请求产生不同响应的原因

  22. 22

    Perl / curl如何获取状态码和响应正文

  23. 23

    使用ajax发布表单时获取html作为响应

  24. 24

    在Wordpress中使用表单和获取/发布

  25. 25

    使用grequests进行发布和获取

  26. 26

    如何在Linux中使用curl分别获取http状态代码和内容

  27. 27

    使用 api 获取错误消息发布

  28. 28

    当有人使用Twitter API和PHP发布推文时如何获取通知

  29. 29

    发布请求并获取xml响应

热门标签

归档