我正在尝试使用ruby的Net::Telnet
类验证一些电子邮件。为此,我连接到SMTP服务器并执行命令列表以验证电子邮件是否正确。在没有代理的情况下使用时,它工作正常。
以下是未使用代理时的代码:
telnet = Net::Telnet.new('Host' => 'gmail-smtp-in.l.google.com' ,
'Port' => 25, 'Prompt' => /[$%#>] z/n, 'Timeout' => 10, "Telnetmode"
=> false) {|c| print c}
telnet.cmd("helo 97.74.230.16")
RESPONSE -
mx.google.com at your service220
mx.google.com ESMTP q5-v6si5760178pgc.620 - gsmtp 250
当我使用代理时:
proxy = Net::Telnet.new('Host' => '97.74.230.16', 'Port' => '59230',
"Telnetmode" => false) {|c| print c}
telnet = Net::Telnet.new('Host', 'gmail-smtp-in.l.google.com' , 'Port' => 25, 'Prompt' => /[$%#>] z/n, 'Timeout' => 10, "Proxy" =>
proxy, "Telnetmode" => false) {|c| print c}
telnet.cmd("helo 97.74.230.16")
RESPONSE -
[ => "\u0000[\u0000\u0000\u0000\u0000\u0000\u0000"
我不确定发生了什么以及为什么我会得到如此奇怪的回应。
添加代理有何不同?我是否以错误的方式使用代理?