mirror of
https://github.com/hipudding/teslamate_fix_addrs.git
synced 2026-02-27 09:54:15 +08:00
support custom User-Agent for HTTP requests
This commit is contained in:
@@ -9,3 +9,4 @@ HTTP_RETRY=5
|
|||||||
INTERVAL=5
|
INTERVAL=5
|
||||||
MODE=0
|
MODE=0
|
||||||
KEY=
|
KEY=
|
||||||
|
USER_AGENT=
|
||||||
@@ -135,6 +135,7 @@ If you installed teslamate by docker, you can choose alternative solutions.
|
|||||||
- MODE=0
|
- MODE=0
|
||||||
- SINCE=2024-01-24
|
- SINCE=2024-01-24
|
||||||
- KEY=
|
- KEY=
|
||||||
|
- USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -163,6 +164,7 @@ teslamate_fix_addrs:
|
|||||||
- MODE=0
|
- MODE=0
|
||||||
- SINCE=2024-01-24
|
- SINCE=2024-01-24
|
||||||
- KEY=
|
- KEY=
|
||||||
|
- USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -170,7 +172,7 @@ teslamate_fix_addrs:
|
|||||||
**Run python script**
|
**Run python script**
|
||||||
|
|
||||||
```
|
```
|
||||||
usage: teslamate_fix_addrs.py [-h] -u USER -p PASSWORD -H HOST -P PORT -d DBNAME [-b BATCH] [-t TIMEOUT] [-r RETRY] [-i INTERVAL]
|
usage: teslamate_fix_addrs.py [-h] -u USER -p PASSWORD -H HOST -P PORT -d DBNAME [-b BATCH] [-t TIMEOUT] [-r RETRY] [-i INTERVAL] [-ua USER_AGENT]
|
||||||
|
|
||||||
Usage of address fixer.
|
Usage of address fixer.
|
||||||
|
|
||||||
@@ -188,6 +190,7 @@ options:
|
|||||||
-m MODE, --mode MODE run mode: 0 -> fix empty record; 1 -> update address by amap; 2 -> do both(MODE).
|
-m MODE, --mode MODE run mode: 0 -> fix empty record; 1 -> update address by amap; 2 -> do both(MODE).
|
||||||
-k KEY, --key KEY API key for calling amap(KEY).
|
-k KEY, --key KEY API key for calling amap(KEY).
|
||||||
-s SINCE, --since SINCE Update from specified date(YYYY-mm-dd).
|
-s SINCE, --since SINCE Update from specified date(YYYY-mm-dd).
|
||||||
|
-ua USER_AGENT, --user_agent USER_AGENT Custom User-Agent for HTTP requests(USER_AGENT).
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -244,6 +247,7 @@ Worry about damaging existing data? You can have a try in sandbox.
|
|||||||
- MODE=0
|
- MODE=0
|
||||||
- SINCE=2024-01-24
|
- SINCE=2024-01-24
|
||||||
- KEY=
|
- KEY=
|
||||||
|
- USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
teslamate-grafana-data:
|
teslamate-grafana-data:
|
||||||
|
|||||||
@@ -15,3 +15,4 @@ services:
|
|||||||
- INTERVAL=5
|
- INTERVAL=5
|
||||||
- MODE=0
|
- MODE=0
|
||||||
- KEY=
|
- KEY=
|
||||||
|
- USER_AGENT=
|
||||||
|
|||||||
+15
-2
@@ -138,7 +138,16 @@ parser.add_argument("-s",
|
|||||||
action=EnvDefault,
|
action=EnvDefault,
|
||||||
envvar="SINCE",
|
envvar="SINCE",
|
||||||
help="Update from specified date(YYYY-mm-dd).")
|
help="Update from specified date(YYYY-mm-dd).")
|
||||||
|
parser.add_argument(
|
||||||
|
"-ua",
|
||||||
|
"--user_agent",
|
||||||
|
required=False,
|
||||||
|
type=str,
|
||||||
|
default='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36',
|
||||||
|
action=EnvDefault,
|
||||||
|
envvar="USER_AGENT",
|
||||||
|
help="Custom User-Agent for HTTP requests(USER_AGENT)."
|
||||||
|
)
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
@@ -247,8 +256,12 @@ def http_request(url):
|
|||||||
http_session = requests.Session()
|
http_session = requests.Session()
|
||||||
http_session.mount('http://', HTTPAdapter(max_retries=args.retry))
|
http_session.mount('http://', HTTPAdapter(max_retries=args.retry))
|
||||||
http_session.mount('https://', HTTPAdapter(max_retries=args.retry))
|
http_session.mount('https://', HTTPAdapter(max_retries=args.retry))
|
||||||
|
headers = {
|
||||||
|
'User-Agent': args.user_agent
|
||||||
|
}
|
||||||
|
|
||||||
try:
|
try:
|
||||||
response = http_session.get(url=url, timeout=args.timeout)
|
response = http_session.get(url=url, timeout=args.timeout, headers=headers)
|
||||||
if response.status_code != requests.codes.ok:
|
if response.status_code != requests.codes.ok:
|
||||||
logging.error(
|
logging.error(
|
||||||
"Http request failed by url: %s, code: %d, body: %s" %
|
"Http request failed by url: %s, code: %d, body: %s" %
|
||||||
|
|||||||
Reference in New Issue
Block a user