1

我有一个使用 PHP 和 CURL 运行的应用程序。我的想法是将应用程序移动到 Python-Django-Requests。我一直无法工作,希望您能帮帮我。该应用程序的工作原理如下: 收集:一个号码、一条消息并通过 API 发送一条短信。

PHP 代码。 http://pastebin.com/PqpBgstD

import requests
import cookielib
posdata = "p_num_text=00513015924048&smstemplate=&message=message_sending&txtcount=8
           +char+%3A+1+Sms&hiddcount=152"
jar = cookielib.CookieJar()
user = 'xxx'
pass = 'xxx'
values = {'app': 'page', 'inc': 'login', 'op': 'auth_login',
           'username': user, 'password': pass} # data login
r = requests.post(url, data=values, cookies=jar) # Login
values = {'app': 'menu', 'inc': 'send_sms',
           'op': 'sendsmstopv_yes'}# values ​​to enter to send the sms 
r = requests.post(url, data=values, params=posdata, cookies=jar)# enter the area sms
print r.content

如何将 CURL 中的代码传递给请求?

上面的代码可以吗?

4

1 回答 1

3

您的代码将不起作用,我在下面附上了更正的代码,请注意您不需要使用cookielibas将生成对象。RequestscookieCookieJar

import requests

url = "http://dominio.com/subdominio/index.php"

username = 'xxx'
password = 'xxx'

payload = {
    'app': 'page',
    'inc': 'login',
    'op': 'auth_login',
    'username': username,
    'password': password}

r = requests.post(url, data=payload)  # Login

cSMS = "Sms"

payload = {
    'p_num_text': '00513015924048',
    'smstemplate': '',
    'message': 'message_sending',
    'txtcount': '8',
    'char': cSMS,   # your php code seems to be off for this one, double check it
    'hiddcount': '153'}

url = "http://dominio.com/subdominio/index.php?app=menu&inc=send_sms&op=sendsmstopv_yes"

r = requests.post(url, data=payload, cookies=r.cookies)  # enter the area sms

print r.text
于 2012-09-01T21:47:34.280 回答