我一直在尝试自动登录我经常访问的网站www.bungie.net.该站点与Microsoft和Xbox Live相关联,因此在人们登录其站点时使用Windows Live ID API.
我对创建网络蜘蛛/机器人比较陌生,我担心我会误解一些最基本的概念.我已经模拟登录到其他网站,如Facebook和Gmail,但live.com给了我一些麻烦.
无论如何,我一直在使用Wireshark和Firefox插件篡改数据来试图弄清楚我需要发布什么,以及我需要包含哪些我的请求.据我所知,这些是登录此站点必须遵循的步骤.
1.访问HTTPS://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=1268167141&rver=5.5.4177.0&wp=LBI&wreply=http:%2F%2Fwww.bungie.net%2FDefault.aspx&id=42917
2.收到MSPRequ和MSPOK的cookies.
3.将表单ID"PPSX"中的值,表单ID"PPFT"中的值,您的用户名,密码全部发布到更改的URL,类似于:https://login.live.com/ppsecure/post. srf?wa = wsignin1.0&rpsnv = 11&ct =(在该URL的末尾有一些数字会发生变化)
4. Live.com向用户返回一个包含更多隐藏表单的页面.然后,客户端从表单"ANON"的帖子的值,从表"ANONExp"的值,并从表"T"的URL的值:HTTP://www.bung ie.net/Default.aspx?wa = wsignin1.0
5.在发布该数据之后,向用户返回各种cookie,其中最重要的是"BNGAuth",即该站点的登录cookie.
我遇到麻烦的地方是第五步,但这并不意味着我已经正确完成了所有其他步骤.我发布了来自"ANON","ANONExp"和"t"的数据,但我没有返回一个BNGAuth cookie,而是返回了一个名为"RSPMaybe"的cookie并重定向到主页.
当我查看Wireshark日志时,我注意到当我使用Firefox登录时以及我的程序运行时,日志与我之间的不同之处.它可能没什么但我会在这里附上图片供你查看.在第四步发布数据之前,我正从网站返回一个HTTP数据包.我不确定这是怎么回事,但它必须是我在HTTPS步骤中做错的一个副作用.
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Text;
using System.Net;
using System.IO;
using System.IO.Compression;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Web;
namespace SpiderFromScratch
{
class Program
{
static void Main(string[] args)
{
CookieContainer cookies = new CookieContainer();
Uri url = new Uri("https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=1268167141&rver=5.5.4177.0&wp=LBI&wreply=http:%2F%2Fwww.bungie.net%2FDefault.aspx&id=42917");
HttpWebRequest http = (HttpWebRequest)HttpWebRequest.Create(url);
http.Timeout = 30000;
http.UserAgent …Run Code Online (Sandbox Code Playgroud) 如何在Eclipse中配置我的Web应用程序(基于Servlet并部署到Tomcat)以使用Spring框架.我只需要IoC容器(仅限Bean和ApplicationContext),而不是Spring MVC.如何为此配置web.xml?
问候
在Javascript中是否有一个函数返回给定字符串出现的次数?我需要返回一个数值,该值等于给定字符串在特定字符串中出现的次数,例如:
var myString = "This is a test text"
Run Code Online (Sandbox Code Playgroud)
如果我必须te在上面的字符串中搜索' ',它将返回2.
对于这个可能很愚蠢的问题,我很抱歉,但我试图将正则表达式放在一起,以便:
小数点前有1或2个数字,小数点后有0-6个数字的数字.但是,如果需要,我还需要允许该字段为空白.
有效示例
0.952321
1.20394
12.12
25
Blank
Run Code Online (Sandbox Code Playgroud)
无效的示例
123.45678
1.1234567
Run Code Online (Sandbox Code Playgroud)
请任何人可以帮忙吗?
我想验证我的浏览器是否正在缓存属于我页面的图像,css和javascript文件.我使用过Fiddler和Google Page Speed,目前还不清楚是否有人向我提供我需要的信息.Fiddler显示了对图像,css和javascript的HTTP 304响应,它应该告诉浏览器使用缓存副本.Google Page Speed显示304响应,但未显示传输大小为零,而是显示资源的完整文件大小.另请注意,我已经看到Google Page Speed报告200响应,但随后将单词(缓存)放在200旁边(因此状态为200(缓存)),这没有多大意义.
关于我如何验证服务器是否在检索到之后发送回来的图片,css,javascript以及之前的网页点击缓存的任何其他建议?
我真的被困在如何编程这个.如何在Java中用半径绘制一个圆并围绕边缘指向?
我需要在具有半径的JFrame中绘制一个圆并围绕圆周指向.我可以在数学上计算如何找到边缘点的坐标,但我似乎无法编程圆.我目前正在使用Ellipse2D方法,但这似乎不起作用并且不返回半径,因为根据我的理解,它不从中心绘制圆而是使用高度和宽度从起始坐标绘制.
我当前的代码是在一个单独的框架上,但我需要将它添加到我现有的框架.
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
public class circle extends JFrame {
public circle() {
super("circle");
setSize(410, 435);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Panel sp = new Panel();
Container content = getContentPane();
content.add(sp);
setContentPane(content);
setVisible(true);
}
public static void main (String args[]){
circle sign = new circle();
}
}
class Panel extends JPanel {
public void paintComponent(Graphics comp) {
super.paintComponent(comp);
Graphics2D comp2D = (Graphics2D) comp;
comp2D.setColor(Color.red);
Ellipse2D.Float sign1 = new Ellipse2D.Float(0F, 0F, 350F, 350F);
comp2D.fill(sign1);
}
}
Run Code Online (Sandbox Code Playgroud) 我通常会查看SoX或Window的内置音频库,但看起来它们都没有G.726编解码器.
所以我有一个字节序列,我知道编码为G.726,虽然比特率和它是mu-law还是A-law目前还不知道(实验将决定那些参数),我需要将它们解码为普通的PCM信号.
所以我从ITU-T(ITU-T G.191建议书)下载了参考实现,但我对如何使用该G726_decode功能感到困惑.根据文档inp_buf并out_buf需要具有相同的长度smpno,两个缓冲区都是16位缓冲区.在我看来,这似乎是一个缺失的步骤; 否则,使用G.726无法完成压缩.根据G.726上的维基百科页面,样本大小取决于比特率(从2到5位).我本来应该自己做减压样品吗?因此,如果我假设最大压缩(2位采样),则每个字节将产生4个采样.
例:
char b = /* read the code from input */
short inp[4], output[4];
inp[0] = b & 0x0003;
inp[1] = b & 0x000C >> 2;
inp[2] = (b & 0x0030) >> 4;
inp[3] = (b & 0x00C0) >> 6;
G726_state state;
memset(&state, 0, sizeof(G726_state));
G726_decode(inp, output, 4, "u", 2, 1, &state);
/* ouput now contains 4 PCM samples */
Run Code Online (Sandbox Code Playgroud)
还是我完全错过了什么?
我有一些问题,PHP文件无法正常工作.内容类型根本不会被任何浏览器接收.Firebug将文件解释为text/html而不是css.这是文件:
<?php
header('Content-Type: text/css; charset=UTF-8');
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 'On');
/* CSS goes on from here */
Run Code Online (Sandbox Code Playgroud)
我测试了echo 'TEST';在标题行之前添加一行,并期望看到经典的"标题已发送"错误,但没有出现!
然而,正常的.css文件就像一个魅力.
我该怎么做才能解决这个问题?
UPDATE:
的确发生了变化default_mimetype = "text/html",以default_mimetype = "text/css"在php.ini和所有页面立即得到解释为CSS,所以有一定的方式来只是给CSS标题此文件:
约翰要求的完整档案:
<?php
header('Content-Type: text/css; charset=UTF-8');
echo 'body {background-color: #000000; }';
?>
Run Code Online (Sandbox Code Playgroud)
更新#2:
添加ini_set('default_mimetype', 'text/css');到PHP文件修复此文件,但它无法解决导致此错误的问题...
更新#3:
测试添加AddType text/css .css.htaccess和Apache配置.仍然没有运气.还测试发送从charset分离的标题:header('Content-Type: text/css');- 仍然没有运气...
更新#4: 在服务器上重新安装Apache + PHP以查看问题是否消失,但没有.同样古老,同样的老......
我正在尝试使用Spring 2.5.6和JUnit 4.8.1为我的JPA DAO类创建JUnit测试.
我的测试用例如下:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:config/jpaDaoTestsConfig.xml"} )
public class MenuItem_Junit4_JPATest extends BaseJPATestCase {
private ApplicationContext context;
private InputStream dataInputStream;
private IDataSet dataSet;
@Resource
private IMenuItemDao menuItemDao;
@Test
public void testFindAll() throws Exception {
assertEquals(272, menuItemDao.findAll().size());
}
... Other test methods ommitted for brevity ...
}
Run Code Online (Sandbox Code Playgroud)
我在jpaDaoTestsConfig.xml中有以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- uses the persistence unit defined in the META-INF/persistence.xml JPA configuration file -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="CONOPS_PU" />
</bean> …Run Code Online (Sandbox Code Playgroud) 在调试模式或我正在进行测试时,我需要打印大量的各种信息,所以我使用这种方法:
#ifdef TESTING
// code with lots of debugging info
#else
// clean code only
#endif // TESTING`
Run Code Online (Sandbox Code Playgroud)
这是一个好方法,还是有其他简单而优雅的方法?
但是这样,我在两个地方重复相同的代码,如果稍后要在代码中更改,我必须在两个地方都这样做,这很费时且容易出错.
谢谢.
我正在使用MS Visual Studio.