2017-03-08 1 views
1

사용자 ID와 암호를 사용하여 Money.net API에 대한 보안 연결을 만들려고하고 있지만 서버에서 응답을받지 못했습니다. 나는 개발을위한 Ipython 노트북을 사용하고 난 프로그래밍 및 파이썬 :일반 텍스트 인증 : Python

import socket 
import sys 
Server_address = ('api.data.money.net',50010) 
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
print sys.stderr, 'connecting to %s port %s' %Server_address 
s.connect(Server_address) 
####### I pass plain text authentication credentials below ##### 
username, password, DATA 

아무것도 실행하지 않고 서버에 다시 응답하지 않는의 세계에 새로운 오전

나는 또한 TLS 소켓을 시도

를 예상대로 'OK' 아래하지만 .wrap 방법은
import socket 
import ssl 

# SET VARIABLES 
#packet, reply = "QS MSFT", "" 
HOST, PORT = 'api.data.money.net', 50010 

# CREATE SOCKET 
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
sock.settimeout(30) 

# WRAP SOCKET 
wrappedSocket = ssl.wrap_socket(sock,keyfile=None,server_side=0, 
          ssl_version=ssl.PROTOCOL_TLSv1,         cert_reqs=ssl.CERT_NONE,do_handshake_on_connect=True) 


# CONNECT AND PRINT REPLY 
wrappedSocket.connect((HOST, PORT)) 


#Plain Text authentication 
'username','password' 

내가 응답을 "연결 시간이 초과되었습니다"라고

'username','password' 

그때 나는 내가 API 오히려 소켓보다 HTTPS를 사용하여 인터넷을 통해 노출 될 기대 내가 말

SSLError: ('The read operation timed out',) 
+0

이 API에 대한 문서에 대한 링크를 제공 할 수 있습니까? 또한 "안전한"연결을 위해 여기에 코드를 작성하지 않았습니다. –

+0

안녕하세요 제임스 - 다음과 같은 링크가 있습니다 https://www.money.net/datafeed – user2560244

+0

@ Jean-Paul이 제안한 것처럼 "TLS를 사용하여 연결해야합니다. 우리 서버는 TLS 인증서 * .data.money.net에 대한 ... ". python [ssl module] (https://docs.python.org/2.7/library/ssl.html) –

답변

1

에 다음과 같은 오류가 다음

packet,reply="QS MSFT","" 
wrappedSocket.send(packet) 
print wrappedSocket.recv(1280) 

실행합니다. 그런 식으로 가야한다는 것이 확실합니까?

기본 인증으로 보안 전화를 걸 수있는 패키지가 많이 있습니다. 요청 패키지는 상위 레벨이며 많은 프로젝트에서 사용되므로 가장 안전한 방법이 될 것입니다.

이 라이브러리의 초기 버전은 인증서 확인을 무시하고 실제로 안전해야한다는 것을 유의하십시오.

Python, HTTPS GET with basic authentication에서 답을보십시오.

+0

www.money.net/datafeed 문서에 따라 "참고 : 네트워크에서 프록시 서버를 사용하는 경우 시스템에는 독립형 SOCKS 프록시 또는 웹 프록시와 함께 SOCKS 프록시가 필요합니다. 우리의 시장 데이터 연결이 HTTP 프로토콜과 호환되지 않는 독점적 인 TCP 프로토콜을 사용하기 때문에 HTTP 및 HTTPS 트래픽이 처리되지 않습니다. "그러나 위와 같이 소켓 랩을 사용하여 TLS 연결을 시도했지만 작동하지 않았습니다. – user2560244