wireshark抓包,电脑发出的包protocol是IP?,本该是HTTP/XML的嘛,它的xml包也正常。
代码贴在一楼。
求教,怎样修改才能发出 HTTP/XML包呢?
Onvif.GetCapability发出的包有问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- zhenbaozou4786 2017-03-17 08:50关注
int UserGetCapabilities( )
{
int retval = 0;
struct soap *soap = NULL;
struct tds_GetCapabilities capa_req;
struct tds_GetCapabilitiesResponse capa_resp;
enum tt__CapabilityCategory temp_category;
struct SOAP_ENV__Header header;
soap = soap_new(); //初始化soap
if(soap==NULL)
printf("Soap初始化失败!");
soap_set_namespaces(soap, namespaces); //设置命名空间
soap_default_SOAP_ENV__Header(soap, &header);
soap->header = &header;
char *soap_endpoint = (char *)malloc(256);
memset(soap_endpoint, '\0', 256);
sprintf(soap_endpoint, "http://%s:%d/onvif/device_service", "10.0.10.207", 80);
capa_req.Category = (enum tt__CapabilityCategory *)soap_malloc(soap, sizeof(int));
capa_req.__sizeCategory = 1;
temp_category = tt__CapabilityCategory__Media;
capa_req.Category = &temp_category;
//此句也可以不要,因为在接口soap_call___tds__GetCapabilities中判断了,如果此值为NULL,则会给它赋值
const char *soap_action = "http://www.onvif.org/ver10/device/wsdl/GetCapabilities";soap_wsse_add_UsernameTokenDigest(soap,"user", ONVIF_USER, ONVIF_PASSWORD); do { soap_call___tds__GetCapabilities(soap, soap_endpoint, soap_action, &capa_req, &capa_resp); if (soap->error) { printf(" soap error: %d, %s, %s\n", soap->error, *soap_faultcode(soap), *soap_faultstring(soap)); retval = soap->error; break; } else //获取参数成功 { printf("Get capabilities success !\n"); printf("\n%s\n", capa_resp.Capabilities->Media->XAddr); } }while(0); free(soap_endpoint); soap_endpoint = NULL; soap_destroy(soap); return retval;
}
这是代码,没有C币了...
希望了解的能帮帮忙!!解决 无用评论 打赏 举报
悬赏问题
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!