我正在使用支持VoLTE的android设备。当设备连接到LTE时,它会自动获得到APN1的PDN连接,这是用于Internet访问。此后,设备立即请求到IMS APN(APN2)的PDN连接。此过程完成后,设备将同时连接到两个不同的APN,两个APN具有不同的IP地址,并且可以在两个“连接”上同时发送流量。
问:我想了解Android(以我的情况为4.1.2)实际上是如何实现此(?)的
我假设这是两个不同的接口,但是netcfg(adb shell)仅显示一个接口,一个接口用于APN1。无处可找到APN2的那个。但是,它处于活动状态并且正在工作,因为设备正在向其发送IMS信令(我对此有100%的把握)。结果,我无法捕获流量(tcpdump),也无法通过APN2将路由规则添加到ping特定IP地址。
我想使用RequestsLibrary在Robot Framework中使用“ Content-Type:multipart / form-data”发出POST请求,但似乎没有任何效果。发出此请求的关键字如下所示:
*** Variables ***
&{API_CREDS} username=myusername password=mypwd
*** Keywords ***
Get token
# Assumes that session has been created
[Arguments] ${Session_id}
&{headers}= create dictionary Content-Type=multipart/form-data
${response}= Post Request ${Session_id} ${AUTH_TOKEN_URL_PATH} data=${API_CREDS} headers=${headers}
should be equal as integers ${response.status_code} 200
[Return] ${response.json()['token']}
Run Code Online (Sandbox Code Playgroud)
但是实际发送的POST请求不包含“ Content-Type”标头,正文只是原始的 data={'username' = 'myusername', ' password' = 'mypwd'}
我尝试了很多发现可以搜索的东西,但是没有任何效果。RequestsLibraryRobot Framework实际上是否支持发送带有“ Content-Type:multipart / form-data”的POST请求?
PS:我使用机器人框架Windows 10用Python 3.7.1。POST请求实际上是发送的,但不包含Content-Type标头,也不包含表单数据有效载荷,如上所述。