2013-05-28 3 views
3

나는 2 방향 SMS 서비스를 준비 중이다.피라미드의 다른 URL로 리디렉션 중입니까?

사용자는 SMS 서버 플랫폼 (www.sms.com)에서 제공 한 가상 번호로 SMS를 보냅니다. 그 SMS 서버 플랫폼은 사용자의 SMS 데이터를 내 URL로 전달합니다 (http://www.yourdomainname.com/ReceiveSMS?from=from&message=message)

이제 "메시지"를 기반으로 사용자 요청을 처리 한 다음이 URL에 대한 회신을 보내야합니다. (www.sms.com/ optin.php? 사용자 = 사용자 이름 & 패스 = & 메시지 = dynamic_message)

내 질문은 내가 www.sms.com/optin.php?user=username & 패스를 URL에 게시 어떻게입니다 to_mobile_number =에 암호 & = 암호 & to = to_mobile_number & message = 처리 후 dynamic_message.

내가 생각한 한 가지 방법은 HTTPFound를 사용하는 것이 었습니다.

더 효율적인 방법이 있는지 알고 싶습니까?

+0

전문 용어를 구문 분석하기가 어렵습니다. 사용자를 해당 URL로 리디렉션해야합니까, 아니면 백그라운드에서 해당 URL과 대화해야합니까? 리디렉션에 "게시"할 수 없으므로 요청하는 내용이 분명하지 않습니다. –

답변

1

Requests는 POST를 보내는 정말 좋은

>>> message = 'hello!' # From your inbound SMS 
>>> data = { 
    'user': 'username', 
    'pass': 'password', 
    'message': message, 
    'to': '123456789' 
} 
>>> r = requests.post("www.sms.com/optin.php", params=data) 
+0

내 질문에 답한 Alex에게 감사드립니다. 그러나 여기서 SMS 서버의 요청이 내 견해로 돌아오고보기가 요청을 처리 한 후 응답이 "www.sms.com/optin.php"로 이동합니다. 피라미드로 어떻게 할 지 모르겠습니다. –

2

피라미드보기에, 당신은 사이드 스텝 어떤 렌더러 논리에 webob 응답을 반환 할 수 있습니다 요청합니다. 따라서 리디렉션의 경우 301/302location header의 상태를 설정합니다.

from webob import Response 

@view_config(...) 
def your_view(context, request): 
    # do stuff 
    return Response(status_int=302, location="http://goherenext.com") 

HTTPFoundstatus hard-coded와 응답의 바로 하위 클래스이다.

관련 문제