2016-12-01 1 views
1

J'ai trouvé l'url sesseion de l'application ios avec charles.And simulé une demande à l'url. Il fonctionne bien et renvoie les fichiers json.Mais un message de demandes avec des requêtes python renvoie simplement le code 1.comment envoyer la demande de poste à cette url de l'application ios avec des demandes de python

l'en-tête ci-dessous est de charles.

url: http://user.mapi.jiashuangkuaizi.com/Kitchen/kitchenList

POST /Kitchen/kitchenList HTTP/1.1 
Host: user.mapi.jiashuangkuaizi.com 
Content-Type: application/x-www-form-urlencoded 
Cookie: gr_user_id=b31b4eaa-0ce4-43f8-9e4e-089ab6c1df1d 
Content-Length: 332 
Connection: keep-alive 
Accept: */* 
User-Agent: HomeCook/3.1.0 (iPhone; iOS 10.1.1; Scale/2.00) 
sign: 46f18df241a2f46ee9d4a774fb27af4d 
Accept-Language: en;q=1, zh-Hans-US;q=0.9 
Accept-Encoding: gzip, deflate 

fichiers josn retours par charles:

enter image description here

code python ci-dessous:

import requests 
import json 

url='http://user.mapi.jiashuangkuaizi.com/Kitchen/kitchenList' 
payload={ 
    "Host": "user.mapi.jiashuangkuaizi.com", 
    "Content-Type": "application/x-www-form-urlencoded", 
    "Cookie":"gr_user_id=b31b4eaa-0ce4-43f8-9e4e-089ab6c1df1d", 
    "Content-Length":332, 
    "Connection":"keep-alive", 
    "Accept":"*/*", 
    "User-Agent":"HomeCook/3.1.0 (iPhone; iOS 10.1.1; Scale/2.00)", 
    "sign":"46f18df241a2f46ee9d4a774fb27af4d", 
    "Accept-Language":"en;q=1, zh-Hans-US;q=0.9", 
    "Accept-Encoding":"gzip, deflate" 
} 
headers={} 
r=requests.post(url,data=json.dumps(payload),headers=headers) 
print(r.content) 

Le postier (ci-dessous) avec la même demande de poste retourne le même résultat que python.So wh à son problème et comment le trouver?

enter image description here

+0

'S'il vous plaît mettre à jour vers la dernière version à utiliser pour rentrer à la maison pour le dîner' ... LMAO – wim

+0

@ wim Je sais chinois.C'est pas le point! –

Répondre

0

Vous envoyez les en-têtes (Content-Length, User-Agent, etc.) dans la charge utile, et vous envoyez les en-têtes vides. C'est évidemment faux, envoyez les en-têtes au headers.

+0

en-têtes = charge utile - la même réponse. –