2014-01-31 90 views
0

我是一名Python新手,所以我需要你的幫助。Python通過Curl或Socket創建多個並行連接

什麼是創建到目標服務器的多重連接的最佳解決方案?線程?使用套接字?使用捲曲?別人lib?

我試圖解釋:

我需要通過SSL連接到服務器,張貼登錄

之後,我需要發送1000多個XML字符串,它的命令(EPP命令的XML字符串)...這總是帖子,每次都是一樣的xml。

最後,我需要發佈另一個xml,用於註銷。

你能告訴我一個例子嗎?

另外我需要這些連接是持久的,所以服務器不會打破它。

由於使用threads的所有

+0

實施例--->'的http:// stackoverflow.com /問題/ 9521113 /線程同步蟒/ 9522339#9522339' –

+0

感謝這個鏈接,我看到了這個線程,但我需要更多的細節瞭解它:( – user3257174

回答

0

實施例:

import threading 

def async(target_func): 
    """executes function asynchronously in a separate thread """ 
    def wrapper(*args, **kwargs): 
     thread = threading.Thread(target=target_func, args=args, kwargs=kwargs) 
     thread.daemon = True 
     thread.start() 
    return wrapper 

@async 
def send_xml(): 
    #do something 
    pass 
+0

非常感謝這段代碼....你能給我一個更完整的例子嗎?我真的是新的python: ( 使用此示例值: se rver調用:https://epp-test.nic-test.cz(是一個例子) XML進行登錄: LoginUser; LoginPass 的Xml命令來並行發送1000倍: create_domain:testtesttest.cz Xml for logut:註銷 謝謝 – user3257174

+0

它超出了問題範圍。實際上,您只需要複製和粘貼urllib用法的示例:http://docs.python.org/2/library/urllib.html – Marat

+0

您還必須介意,如果要使用此方法維護持久連接您將不得不在單個線程中運行所有1000個請求。但是,您可以在單獨的線程中並行處理多個1k請求會話 – Marat