1. 通过EXE程序间隔一段时间爬取Web某个URL获取Web上的信息,并入库。
import requests
import time
def fetch_and_save(url):
try:
response = requests.get(url)
response.raise_for_status() # 检查请求是否成功
data = response.json() # 假设返回的是JSON格式的数据
# 将数据保存到数据库中
save_to_database(data)
print(f"Successfully fetched and saved {url}")
except requests.RequestException as e:
print(f"Error fetching {url}: {e}")
def save_to_database(data):
# 这里需要实现将数据保存到数据库中的逻辑
pass
示例URL
target_url = "https://example.com"
interval = 60 # 每隔60秒执行一次
while True:
fetch_and_save(target_url)
time.sleep(interval)2. 使用AJAX方式,间隔一段时间获取Web上的信息。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AJAX Web Communication</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div id="result"></div>
<script>
function fetchData() {
$.ajax({
url: "http://localhost:8080/data",
method: "GET",
success: function(response) {
$("#result").text(JSON.stringify(response));
},
error: function(xhr, status, error) {
console.error("Error fetching data:", error);
}
});
}
setInterval(fetchData, 60000); // 每隔60秒执行一次
</script>
</body>
</html>3. 通过精通的语言写一个EXE程序,做Socket监听,端口80,运行在服务器上。
using System;
using System.Net.Sockets;
using System.Text;
class WebServer
{
static void Main(string[] args)
{
TcpListener listener = new TcpListener(IPAddress.Any, 80);
listener.Start();
Console.WriteLine("Web Server is running on port 80...");
while (true)
{
TcpClient client = listener.AcceptTcpClient();
NetworkStream stream = client.GetStream();
byte[] buffer = new byte[1024];
int bytesRead = stream.Read(buffer, 0, buffer.Length);
string request = Encoding.ASCII.GetString(buffer, 0, bytesRead).Trim();
Console.WriteLine($"Received request: {request}");
// 处理请求并发送响应
string response = "HTTP/1.1 200 OK
Content-Type: text/html
<h1>Hello, World!</h1>";
byte[] responseData = Encoding.ASCII.GetBytes(response);
stream.Write(responseData, 0, responseData.Length);
stream.Close();
client.Close();
}
}
}三次握手协议:用于建立和维持TCP连接。
未连接队列:在连接建立过程中,服务器维护的未连接队列。
Backlog参数:设置未连接队列的最大容量。
半连接存活时间:定义半连接队列中条目的存活时间。
Web应用程序和服务器端EXE程序的通信:
- 通过EXE程序间隔一段时间爬取Web某个URL获取Web上的信息,并入库。
- 使用AJAX方式,间隔一段时间获取Web上的信息。
- 通过精通的语言写一个EXE程序,做Socket监听,端口80,运行在服务器上。
通过这种方式,我们可以实现不同组件之间的高效通信,提升系统的整体性能和灵活性。
0
