我是http请求的总初学者,但是我想编写一个使用 作为接入点连接到相机(即,像任何其他Wi-Fi路由器一样登录) 将请求发送到某个URL和端口 有人知道这里可能会出问题吗? UPNP/SSDP入门有什么好的资源吗?我从这里. #!/usr/bin/python def main(): import requests DISCOVERY_MSG = ('M-SEARCH * HTTP/1.1\r\n' + 'HOST: 239.255.255.250:1900\r\n' + 'MAN: "ssdp:discover"\r\n' + 'MX: 3\r\n' + 'ST: urn:schemas-sony-com:service:ScalarWebAPI:1\r\n' + 'USER-AGENT:
以下是关于 ssdp 的编程技术问答
我的网络上有一个ROKU设备,我希望能够通过程序发现它. 官方roku文档说: 有一个标准的SSDP多播地址和端口 (239.255.255.250:1900)用于本地网络通信. roku响应此IP地址和端口上的M搜索查询. 为了查询Roku IP地址,您的程序可以发送 在请求使用HTTP协议到239.255.255.250端口之后 1900: 他们提供了一个使用NetCat的示例,他们说Wireshark可以用于查找结果.他们还说: 外部控制协议使Roku可以通过 网络.外部控制服务是可以通过SSDP发现的 (简单的服务发现协议).该服务是一个简单的安息 API 几乎可以通过程序在任何编程中访问 环境. 我有一个Java程序,可以控制我的roku给定IP地址,我想实现使用此SSDP在网络上发现它的函数. 如何使用Java发送M搜索查询?我绝对没有关于如何做到这一点的概念.就像是get/post请求吗?如果有人可以将我指向正确的方向,我会非常感激!
我正在写 upnp av / 如何确定在回复数据包中发送的适当地址? 我考虑的一些想法是: 将不同的接收器绑定到每个插座.当接收器获得M-SEARCH数据包时,回复地址可以在答复中使用套接字的本地地址.但是,这需要在所有接口上了解和迭代,并在接口可用性上添加和删除接收器. 将一个接收器放在INADDR_ANY上,然后迭代接口NetMasks确定可能的源.但是,多个接口可能共享同一子网. 在接收时提取数据包IP目标地址.这将是特定于IP的,并且可能会在网络抽象中丢失. 解决方案 getsockname(2)随后getnameinfo(3)报告您的TCP/IP堆栈已分配给套接字的IP地址. (显然,如果服务器和客户端位于NAT系统的相对侧面,这与客户端可以使用的内容不符;在这种情况下,也许有巧妙的UPNP欺骗.) 我假设您的服务器看起来像这样: lfd = socket(); ret = bind(lfd,...); connection = listen
我是SSDP/UPNP/插座和所有爵士乐的新手.我正在玩一些游戏,我只想看看我的网络上的通用SSDP搜索会引起什么. 使用此 我正在使用以下代码,我发现了各种版本,但是我所做的所有调整似乎都没有带回任何结果.我在这里几乎不知所措,并感谢任何指导. 谢谢! private const string SSDP_IP = "239.255.255.250"; private const string SSDP_PORT = "1900"; private const string SSDP_QUERY = "M-SEARCH * HTTP/1.1\r\n" + "Host: " + SSDP_IP + ":" + SSDP_PORT + "\r\n" + "Man: ssdp:discover\r\n" +
我创建了一个小程序来测试UPNP多播(Visual C#2010 Express,在Windows 7 Professional 64位运行).我可以从网络中的UPNP设备接收UPNP通知消息.但是当我发送M搜索消息时,我没有答案. 我已经在iOS环境上测试了相同的代码(iOS的单调,在Mac上的iPhone模拟器上运行).它运行良好,我从UPNP设备中获得了所有搜索响应.我还可以从Windows程序中查看M搜索消息. 看起来像Windows(或防火墙?)正在隐藏搜索响应.有什么想法吗? 这是代码: IPEndPoint LocalEndPoint = new IPEndPoint(IPAddress.Any, 1900); IPEndPoint MulticastEndPoint = new IPEndPoint(IPAddress.Parse("239.255.255.250"), 1900); Socket UdpSocket = new Socket(A
我的网络中很少有UPNP设备.我正在尝试向网络发送M搜索请求,并希望从中收到一些回复.这是我尝试的: var sIP, sOut: string; iPort: Word; S: TStringBuilder; begin S := TStringBuilder.Create; try S.Append('M-SEARCH * HTTP/1.1').AppendLine .Append('HOST: 239.255.255.250:1900').AppendLine .Append('MAN: "ssdp:discover"').AppendLine .Append('MX: 10').AppendLine .Append('ST: ssdp:all').AppendLine; IdUDPClient1.ReceiveTimeout := 3000; IdUDPClient1.Broadcas
我正在尝试在我的Android应用程序中实现一个非常简单的SSDP功能从这里. 我的应用程序向广播地址发送包含相关的M-Search消息的一些UDP报文,而没有任何问题.问题是,我应该从运行UPnP服务器的其他设备获取适当的响应.出于某种原因,我只是收到我从我的Android设备发送的完全相同的数据包. mainActivity.java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WifiManager wm = (WifiManager)getSystemService(Context.WIFI_SERVICE); WifiManager.MulticastLock multicastLock = wm.createMulticastLock("multic