2011-01-26 18 views
5

Tôi đang trên Windows 7.Python FTP để iPad

tôi không thể kết nối với iPad của tôi với một kịch bản Python đơn giản:

HOST = '192.168.1.122' 
try: 
    f = ftplib.FTP(HOST) 
except (socket.error, socket.gaierror), e:  
    MessageBox.Show('ERROR: cannot reach "%s"' % HOST) 
    return   
try: 
    f.connect(HOST,2121) 
    f.login() 
except ftplib.error_perm: 
    MessageBox.Show('ERROR: cannot login anonymously') 
    f.quit() 
    return 

Các lỗi tôi có là "getaddrinfo trả về một danh sách trống" và thông báo "không thể kết nối ..." ... Không thể giải quyết được ...

Tôi đã cố gắng FTP với một số chương trình trên iPad mà không thành công. Nếu tôi FTP qua hộp DOS hoặc sử dụng một phần mềm FTP nó hoạt động. Tôi đã thử cũng như một máy chủ FTP trên máy tính của tôi và nó hoạt động.

Tôi buộc phải sử dụng cổng 2121, vì vậy không thể thay đổi cổng.

Bất kỳ đầu mối hoặc kinh nghiệm nào?

+2

Bạn có máy chủ FTP chạy trên iPad của mình không? –

+0

Tôi sẽ giả định như vậy xem xét ông nói rằng nó hoạt động bằng cách sử dụng phần mềm FTP: 'Nếu tôi FTP qua hộp DOS hoặc sử dụng một phần mềm FTP nó hoạt động' – Jimmy

+0

Tôi giả định, rằng một cái gì đó như http://www.savysoda.com/WiFiFTP được cài đặt. – keatch

Trả lời

4

Bạn nên đọc tài liệu trước khi bất cứ điều gì:

lớp ftplib.FTP ([chủ [, người dùng [, passwd [, acct [, thời gian chờ]]]]]) Trả về một trường hợp mới của Lớp FTP. Khi máy chủ được cung cấp, phương thức gọi kết nối (máy chủ) được thực hiện. Khi người dùng là được cung cấp, ngoài ra, phương thức gọi thông tin đăng nhập (người dùng, passwd, acct) được thực hiện (trong đó mã thông báo mặc định là khi không được cung cấp). Thông số thời gian chờ tùy chọn chỉ định thời gian chờ tính bằng giây để chặn các hoạt động như cố gắng kết nối (nếu không được chỉ định, toàn cầu cài đặt thời gian chờ mặc định sẽ được sử dụng).

Vì vậy, nếu bạn làm f = ftplib.FTP (HOST) nó không thành công bởi vì nó sẽ cố gắng để kết nối với cổng tiêu chuẩn (21) chứ không phải 2121. Bạn sẽ nhận được một thể hiện của ftplib và sau đó sử dụng f. kết nối (HOST, 2121).

http://docs.python.org/library/ftplib.html

+0

vâng, đó là điều. Tôi đọc tài liệu, nhưng tôi sẽ không ở đây nếu tôi có thể trải qua điều đó một mình, phải không? Cảm ơn rất nhiều, điều này thực sự đã làm các trick ... – Maurizio

+1

Đó là Ok Maurizio, chỉ cần trỏ về đọc các tài liệu vì (gần như tôi) luôn luôn 'cố gắng' trước khi đọc ... Vui mừng khi biết rằng nó đã làm việc ngay bây giờ! Chúc may mắn! – webbi

Các vấn đề liên quan