遇到一个问题,比如 www.xxxxxx.com/?id=123 如何做个判断,让url后面不允许带参数,如果访问带参数的url就显示404数
时间: 2023-02-06 19:14:29 浏览: 178
可以使用服务器端程序对 URL 进行判断。具体来说,可以使用正则表达式匹配 URL,如果 URL 中包含查询字符串(即 `?` 和 `&` 符号),就返回 404 错误。
例如,在 Node.js 中可以这样写:
```
app.get('*', function(req, res) {
if (/\?|&/.test(req.url)) {
res.sendStatus(404);
} else {
// 处理请求
}
});
```
在 PHP 中可以这样写:
```
if (strpos($_SERVER['QUERY_STRING'], '?') !== false || strpos($_SERVER['QUERY_STRING'], '&') !== false) {
http_response_code(404);
exit;
}
```
如果你使用的是其他服务器端语言,可以类似地使用正则表达式或字符串函数进行判断。
希望这个回答对你有帮助。
相关问题
不让umi build打包出很多xx.xxxxxx.async.js文件怎么办?
如果你不想让 umi build 打包出很多 xx.xxxxxx.async.js 文件,可以通过修改 umi 的配置来实现。
在 umi 的配置文件 config/config.js 中,可以设置 chunks 配置项来控制代码分割。chunks.async 表示异步 chunk 的名称模板,默认是 `[name].[contenthash:8].async.js`,即 xx.xxxxxx.async.js。你可以将它修改为一个固定的名称,如 `async.js`,这样就会将所有的异步代码打包到一个统一的文件中,而不是生成很多个异步 chunk。
示例代码如下:
```javascript
export default {
chunks: {
// 将异步代码打包到一个统一的文件中
async: 'async.js',
},
// ...其他配置
};
```
需要注意的是,将所有的异步代码打包到一个文件中,可能会影响到页面的加载性能。因此,在不同的场景下,需要根据实际情况来选择是否使用这个配置。
用python写登录https://account.aliyun.com/login/login.htm后跳转到一个页面下载文件
这个需要用到web自动化和requests库。
首先,使用selenium库打开登录页面,并手动输入账号密码进行登录。
```python
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://account.aliyun.com/login/login.htm")
# 手动输入账号密码并点击登录按钮
# ...
```
登录成功后,我们可以使用requests库来模拟访问下载页面并保存文件。
```python
import requests
# 获取登录后的cookies
cookies = driver.get_cookies()
cookies_dict = {}
for cookie in cookies:
cookies_dict[cookie['name']] = cookie['value']
# 设置请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36',
'Referer': 'https://account.aliyun.com/login/login.htm',
}
# 访问下载页面并保存文件
url = 'https://xxxxxx.aliyun.com/download.htm'
response = requests.get(url, headers=headers, cookies=cookies_dict)
with open('file.zip', 'wb') as f:
f.write(response.content)
```
需要注意的是,下载页面的URL需要替换成实际的URL,并且请求头和cookies需要根据实际情况进行设置。
阅读全文