2017-03-28 54 views
-1

我有一个文件,如下所示:json文件可以按原样发布到http服务器吗?

{ 
    "http-request": { 
     "header": { 
      "method": "POST", 
      "action": "register", 
      "httpversion": "1.1", 
      "host": "customerrequest.com", 
      "Connection": "keepalive", 
      "Content-Length": "254", 
      "Origin": "https://clipboard.customerrequest.com", 
      "User-Agent": "Chrome/56.0.2924.87 Safari/537.36" 
     }, 
     "body": { 
      "email": "[email protected]", 
      "password": "XXXXXXXX", 
      "confirm_password": "XXXXXXXX", 
      "invite_code": "", 
      "csrf_token": "gshdgagTTDBsbasxgvdfjdkf-TI1kV42pAYhkFXQrKfvJjLYhpR-fJ2WjirVXaQ==", 
     } 
    } 
} 

我需要这个信息发布到服务器https://clipboard.customerrequest.com服务器动作登记。我对整个HTTP请求响应等共小白我只需要在这里一点点帮助了解

  1. 我应该张贴整个JSON作为是服务器?如果没有,将这些信息发布到服务器的最佳方式是什么?

  2. 当我得到响应时,我想自动解析响应并存储信息。如何将响应体(http认为)转换为json格式?

  3. 我想在python中做到这一点。我可以看的任何资源/库?

+0

首先是您的服务器接受标题内容类型“Application/json”。如果是的话,你可以发布你的数据,因为它是 –

+0

@AlokVishwakarma我认为他们接受内容类型'text/html,application/xhtml + xml,application/xml; q = 0.9,image/webp,*/*; q = 0.8' – user1357576

+0

哦,没有应用程序/ json标签,我认为它也应该accpet application/json其他明智的你不能发布你的数据在json格式。 是那个服务器属于你,那么你可以改变接受的头。 现在你只能发布你的数据作为参数或XML实体格式 –

回答

1

您可以使用库json分析文件,以获得JSON来发布,然后Request张贴。你可以从响应中获得json。

  1. 使用JSON来获取身体JSON从你的文件,下面一行的东西会工作

    import json with open('data.json') as data_file:
    data = json.load(data_file) payload = data["body"] url = data["headers"]["Origin"] //if url also needs to be extracted from file headers = {'content-type': 'application/json'}

  2. 使用要求张贴JSON

    r = requests.post(url, data=json.dumps(payload), headers=headers) resp = r.json()

有多个相似的po sts(1,2 & 3)也可以参考,

+0

有趣。如果服务器不接受'application/json'类型的内容怎么办? – user1357576

+0

如果服务器已经配置为不接受json内容,那么为什么你发布json,它的很多可能的服务器也没有能力解析jason对象。从客户端,我们不能超越服务器功能。请参阅https://www.w3.org/Protocols/rfc2616/rfc2616-sec10。http响应代码的html#sec10.4.16可以让你解码你得到的响应。 – Anil

相关问题