问题总结:
最近在学习Coursera上的课程Python for Everybody Specialization-Using python to access Web Data。Week3涉及到运用telnet, mac较新的版本,都需要手工安装telnet,花了好几个小时研究,踩了很多坑,也学到一些新的东西,所以总结一下。
首先介绍一下我最后成功的操作步骤,供大家参考
首先搜集到的信息是需要通过Homebrew来安装telnet,于是我开始搜寻安装Homebrew的方法
如下是官网给出的代码,在terminal里面直接执行会有报错
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
报错如下:
Failed to connect to raw.githubusercontent.com port 443: Connection refused
中间做了很多操作,我现在也不知道有没有对最终安装成功有帮助,大家可以先直接尝试最终成功的方法,如果有问题再跳到最后看看其他的
解决办法:
使用国内源:
下载homebrew+配置brew install xxx的国内源
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
安装过程我没有截图,可以直接参考博主的:
会要求输入Mac密码,以及回答问题:在terminal根据问题回答即可,我选择的是“1”,“Y”,记得回车
感谢博主:连接:https://blog.csdn.net/weixin_41948075/article/details/124354375
brew 本体安装成功后,选择配置国内源
安装好了之后记得在terminal输入代码
source/Users/xws/.zprofile
后面安装telnet
brew install telnet
运用课上的测试 telnet 输入域名 和 端口
telnet data.pr4e.org 80
手动输入如下语句,课上的连接可以访问并收到response了
GET http://data.pr4e.org/romeo.txt HTTP/1.0
完成!
另外我直接run python文件的时候会有报错,还在没有找到问题,如果有小伙伴遇到过一样的问题,可以讨论一下
import socket
mysocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysocket.connect(('data.pr4e.org',80))
cmd = 'GET http://data.pr4e.org/romeo.txt HTTP/1.0\n\n'.encode()
mysocket.send(cmd)
while True:
data = mysocket.recv(512)
if (len(data)<1):
break
print(data.decode())
mysocket.close()
报错如下,不知道如何下手
感谢博主:
连接:https://blog.csdn.net/weixin_41948075/article/details/124354375
链接:https://www.jianshu.com/p/16aa1e84dfc3
其他操作:
1 修改hosts
最开始的思路是通过将hosts中的添加IP来解决问题,没有成功,但是了解到了这个方法,可以在finder里面 ,快捷键Shift+Command+G查找文件:/etc/hosts,将host文件复制两份,在外修改好了之后再删掉原有的,复制修改的放进去。(注意一定要有备份!)。(terminal修改的方式也试过了,估计操作有些小问题,没有成功)。
在添加第一个域名后,输入最开始的代码,确实可以terminal 可以run起来,但是又出现了另一个报错,于是我又添加了一个ip
可以参考这位博主的连接:https://blog.csdn.net/qq_33466661/article/details/117477848
2 修改DNS
于是我又试了另外一个方法,在设置network修改DNS,原来是0.0.0.0,但是还是不能运行(也不知道有没有其他的影响记录一下)
如有不正确的地方,欢迎指正,谢谢!