2012-07-29 5 views
1

PHP와 CURL로 실행되는 응용 프로그램이 있습니다. 제 아이디어는 응용 프로그램을 Python-Django-Requests로 옮기는 것입니다. 나는 일할 수 없어, 나는 당신이 내게 손을 좀 줄 수 있기를 바랍니다. 응용 프로그램은 다음과 같이 작동합니다. 수집 : 숫자, 메시지 및 API를 통해 SMS를 보냅니다.요청 모듈 파이썬

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의 코드를 전달할 수 있습니다?

위의 코드가 정상입니까?

답변

3

귀하의 코드가 작동하지 않습니다, 나는 아래의 수정 코드, 당신이 CookieJar 객체를 생성합니다 cookielibRequestscookie으로 사용할 필요가 없습니다 메모를 첨부했습니다.

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