双击Shift
,输入vmoption
,选择Edit Custom CM Options
输入-Dfile.encoding=UTF-8
保存后重启即可
双击Shift
,输入vmoption
,选择Edit Custom CM Options
输入-Dfile.encoding=UTF-8
保存后重启即可
虽然百度上一大堆,但每次都要百度感觉挺麻烦的,记录下
Linux:
export http_proxy=http://192.168.1.140:1080 export https_proxy=http://192.168.1.140:1080
Windows:
set http_proxy=http:// 192.168.1.140:1080 set https_proxy=http:// 192.168.1.140:1080
前言:由于最近家里公网IP经常变动,自己又有个Oray的域名,所以想弄个动态IP更新上去,而Oray的花生壳服务现在要花钱(还限制端口),所以已经不考虑花生壳了
进入域名设置的 其他服务-自主管理,开启自主管理设置
首先需要获取到登录token
def getToken(): headers={ "Authorization":"", "Accept":"application/json, text/plain, */*", "Content-Type":"application/json", "Host":"dm-api.oray.com", "Origin":"http://diy.oray.com", "Referer":"http://diy.oray.com/domain", "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36" } url="http://dm-api.oray.com/authorization" #登录url ret=requests.post(url,data='{"rootname": "自主管理域名", "password": "密码"}',headers=headers) #data是raw格式 _json=json.loads(ret.text) return _json['token']
def getRecordItem (): url="http://dm-api.oray.com/resolves/自助管理根域名" headers={ "Authorization":"Bearer {0}".format(token), "Accept":"application/json, text/plain, */*", "Content-Type":"application/json", "Host":"dm-api.oray.com", "Origin":"http://diy.oray.com", "Referer":"http://diy.oray.com/domain", "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36" } ret=requests.get(url,headers=headers) _json=json.loads(ret.text) for _item in _json: if(_item['name']=='你目标二级域名头'): return _item recordid=getRecordItem()['recordid']
def updateIp(): url="http://dm-api.oray.com/resolves/你要修改的二级域名" headers={ "Authorization":"Bearer {0}".format(token), "Accept":"application/json, text/plain, */*", "Content-Type":"application/json", "Host":"dm-api.oray.com", "Origin":"http://diy.oray.com", "Referer":"http://diy.oray.com/domain", "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36" } _json=json.loads('{"recordid":1,"domainname":"你要修改的二级域名","subname":"二级域名头","line":0,"recordtype":"a","value":"","ttl":3600,"priority":0}') _json['value']=ip #你要提交的ip _json['recordid']=getRecordItem() _data=json.dumps(_json) requests.post(url,data=_data,headers=headers)
以上就完成了,根据自己使用的不同语言进行http调用修改就行,放一份完整的Python代码仅供参考(假设要修改的二级域名:nas.example.cn)
import json import requests ip="127.0.0.1" def getToken(): headers={ "Authorization":"", "Accept":"application/json, text/plain, */*", "Content-Type":"application/json", "Host":"dm-api.oray.com", "Origin":"http://diy.oray.com", "Referer":"http://diy.oray.com/domain", "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36" } url="http://dm-api.oray.com/authorization" post=requests.post(url,data='{"rootname": "example.cn", "password": "123456"}',headers=headers) _json=json.loads(post.text) return _json['token'] token=getToken() def getRecordItem(): url="http://dm-api.oray.com/resolves/example.cn" headers={ "Authorization":"Bearer {0}".format(token), "Accept":"application/json, text/plain, */*", "Content-Type":"application/json", "Host":"dm-api.oray.com", "Origin":"http://diy.oray.com", "Referer":"http://diy.oray.com/domain", "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36" } ret=requests.get(url,headers=headers) _json=json.loads(ret.text) for _item in _json: if(_item['name']=='nas'): return _item def updateIp(): url="http://dm-api.oray.com/resolves/nas.example.cn" headers={ "Authorization":"Bearer {0}".format(token), "Accept":"application/json, text/plain, */*", "Content-Type":"application/json", "Host":"dm-api.oray.com", "Origin":"http://diy.oray.com", "Referer":"http://diy.oray.com/domain", "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36" } _json=json.loads('{"recordid":0,"domainname":"nas.example.cn","subname":"nas","line":0,"recordtype":"a","value":"","ttl":3600,"priority":0}') _json['value']=ip _json['recordid']=getRecordItem()['recordid'] _data=json.dumps(_json) requests.post(url,data=_data,headers=headers) updateIp()
由于运营商限制,NAS开放445端口是无法直接访问的,但Windows客户端只允许链接445端口,所以需要在本地做个端口转发功能
从百度上抄的,记录下方便下次使用,正则表达式不就是复制粘贴大法嘛(
1.AndroidStudio 日志过滤多个字符串
^((?!hello|hi).)*$
这样就能过滤掉hello和hi字符串了
2.匹配双引号的内容(含双引号)
\"([^\"]*)\" 替换并包含原文 "\1"\