美文网首页今日看点
requests之POST提交json数据问题

requests之POST提交json数据问题

作者: 向右奔跑 | 来源:发表于2017-03-18 10:20 被阅读3122次

    之前,写的一篇文章 《Python实现的站内消息群发助手-V1.0》,刚刚用了两三次,就遇到网站改版了,今天有空重来一遍,再写写这个功能。遇到了requests的post提交json数据的问题,没有解记,先记录下来。

    还是三步:

    1. 在用户主页上获取“发送简信”的url(chats/new?mailto=xxx),这一步很容易获取
    • 打开chats/new?mailto=xxx,获取chat_id
    • POST提交,发送站内信

    以上都需要登录操作,还是用Cookie登录方式。

    第二步,通过mailto的id,获取chat_id,解析直接获取的url找不到,页面的源代码中也找不到,还是chrome检查,一步步分析network,这里加载的是json数据。


    测试出来正解的url应该是,chats/new.json?mailto=xxx,就解析获取到chat_id

    第三步,分析发送简信的url是http://www.jianshu.com/chats/chat_id/chat_message,post提交json数据

     data ={"chat_message":{"content":"hello...."}}
    
     requests.post(posturl, data=json.dumps(data), headers=headers)
    

    还是发送不成功,post返回的是404。查了一下网上的类似的解决:

    • header指明要以json方式发送

    "Content-Type": "application/json"

    * 加上 application/x-www-form-urlencoded
    

    "Content-Type": "application/x-www-form-urlencoded"

    以上方式都调试还是不能成功发送,只能先存疑了。之前是表单POST方式,构造表单字段即可。不知道json数据在提交时还在注意什么,希望看到的童鞋帮忙了。

    相关文章

      网友评论

        本文标题:requests之POST提交json数据问题

        本文链接:https://www.haomeiwen.com/subject/bklunttx.html