最近一位同事展示了这段 JavaScript 代码:
greet = "?".toString.bind("hello world!")
Run Code Online (Sandbox Code Playgroud)
如果您将其粘贴到开发者控制台中并执行,它将打印“Hello, World!” 信息:
>> console.log(greet())
hello, world!
Run Code Online (Sandbox Code Playgroud)
我发现的另一个有趣的事情是,如果您将相同的greet代码粘贴到Node.js REPL 中,它会自动将其转换为“可读”格式。
这是如何运作的?为什么这种行为在浏览器中是可能的,为什么 Node.js 会自动格式化它?
我正在尝试创建简单的Web监控脚本,该脚本定期和异步地将GET请求发送到列表中的URL.这是我的请求功能:
def request(url,timeout=10):
try:
response = requests.get(url,timeout=timeout)
response_time = response.elapsed.total_seconds()
if response.status_code in (404,500):
response.raise_for_status()
html_response = response.text
soup = BeautifulSoup(html_response,'lxml')
# process page here
logger.info("OK {}. Response time: {} seconds".format(url,response_time))
except requests.exceptions.ConnectionError:
logger.error('Connection error. {} is down. Response time: {} seconds'.format(url,response_time))
except requests.exceptions.Timeout:
logger.error('Timeout. {} not responding. Response time: {} seconds'.format(url,response_time))
except requests.exceptions.HTTPError:
logger.error('HTTP Error. {} returned status code {}. Response time: {} seconds'.format(url,response.status_code, response_time))
except requests.exceptions.TooManyRedirects:
logger.error('Too many redirects for {}. Response time: {} seconds'.format(url,response_time))
except:
logger.error('Content requirement …Run Code Online (Sandbox Code Playgroud)