Tag: proxy

使用BrowserMob-Proxy REST api设置自定义标头

我有一个在端口9091上运行的browsermob代理。我正在尝试使用browsermob-proxy REST API来设置自定义标头。 当我通过代理使用Selenium向我的应用程序发出请求时,我看不到我的应用程序控制台中打印的标题。 以下是我的代码。 请求正文基于此处的文档。 我的要求是使用BrowserMob代理API而不是它的Java库用于这个特定的用例。 我在下面的代码中做错了什么? Proxy proxy = new java.net.Proxy(java.net.Proxy.Type.HTTP, new InetSocketAddress(“localhost”, 9091)); String bpmUrl = “http://localhost:8787/proxy/9091/interceptor/request”; Client client = Client.create(); String requestBody = “request.getMethod().addHeader(\”custom-header\”, \”Bananabot/1.0\”);”; WebResource resource = client.resource(bpmUrl); resource.type(MediaType.TEXT_PLAIN_TYPE).post(requestBody); String url = “http://localhost:8004”; DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability(CapabilityType.PROXY, proxy); WebDriver driver = new FirefoxDriver(capabilities); driver.get(url); driver.quit(); 编辑1 我试过@ Erki的解决方案,我觉得应该可行,但事实并非如此。 这里有什么遗漏? […]

使用SSLSocket的SOCKS5代理

我有一个客户端/服务器应用程序,通过Java的SSLSocket远程连接到服务器。 我正在尝试实现一个可选模式,通过经过身份validation的SOCKS v5代理启用连接。 我尝试使用相关的教程,但没有具体提及有关SSL的任何内容。 我已经尝试设置系统范围的属性(“socksProxyHost”和“socksProxyPort”)但它似乎没有做任何事情。 我的下一个方法是在SSLSocketFactory中使用工厂方法: String proxyHost = Config.prefs.get(“PROXY_NAME”, “localhost”); int proxyPort = Config.prefs.getInt(“PROXY_PORT”, 1080); InetSocketAddress proxyAddr = new InetSocketAddress(proxyHost, proxyPort); Socket underlying = new SSLSocket(new Proxy(Proxy.Type.SOCKS, proxyAddr)); underlying.connect(new InetSocketAddress(getHost(), getPort())); socket = (SSLSocket) factory.createSocket( underlying, getHost(), getPort(), true); 但是这种方法的问题是createSocket方法要求底层套接字已经连接,我的服务器不接受非SSL连接。 使用SOCKS连接到远程服务器的最佳方法是什么? 此外,我接下来不知道如何在此系统中为经过身份validation的SOCKS提供用户名/密码。 谢谢!

Hibernate在访问关联实体的id时生成SQL查询

我有Hibernate Entities看起来像这样(getters和setter被遗漏): @Entity public class EntityA { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = “parent_id”) private EntityB parent; } @Entity public class EntityB extends SuperEntity { @OneToMany(mappedBy = “parent”) @Fetch(FetchMode.SUBSELECT) @JoinColumn(name = “parent_id”) private Set children; } @MappedSuperclass public class SuperEntity { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = “id”) private long itemId; } 当我查询EntityA时,它加载正常,父关联被Hibernate代理替换(因为它是Lazy)。 如果我想访问父母的id,我执行以下调用: EntityA entityA […]

Hibernateexception_ $$ _ javassist_0无法强制转换为javassist.util.proxy.Proxy

您好我正在使用developnig java Web应用程序,当我尝试使用hibernate获取数据时,我得到了下一个exception java.lang.ClassCastException: com.digitalticket.model.UserType_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy 这里是栈跟踪 java.lang.ClassCastException: com.digitalticket.model.UserType_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxy(JavassistLazyInitializer.java:147) at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:75) at org.hibernate.tuple.entity.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:771) at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:4613) at org.hibernate.event.internal.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:349) at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:270) at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:150) at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1070) at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:989) at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:716) at org.hibernate.type.EntityType.resolve(EntityType.java:502) at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:170) at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:144) at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1114) at org.hibernate.loader.Loader.processResultSet(Loader.java:972) at org.hibernate.loader.Loader.doQuery(Loader.java:920) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354) at org.hibernate.loader.Loader.doList(Loader.java:2553) at […]

Java HTTP代理服务器

我需要实现一个HTTP代理服务器应用程序,它将来自多个客户端的请求代理到远程服务器。 以下是步骤: 客户转发请求代理 代理转发请求到服务器 服务器向Proxy返回请求 代理向客户返回请求。 我只是不确定如何实现这个代理。 我的第一个想法是实现一个tomcat应用程序,它使用jersey / apache httpclient将请求转发给远程服务器并将响应返回给客户端? 有没有更好的方法来实现这样的代理服务器? 代理需要处理多个线程。

OkHTTPClient代理validation如何?

问题:如何向OkHTTP添加授权代理。 我知道OkHTTP的构建器确实支持代理,尽管我很难设置代理 。 /** * Given a Url and a base64 encoded password return the contents of a website. * @param urlString * @param password * @return JSON */ public String getURLJson(String urlString, String password) { OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(60, TimeUnit.SECONDS) .writeTimeout(60, TimeUnit.SECONDS) .readTimeout(60, TimeUnit.SECONDS) .build(); Request request = new Request.Builder() .url(urlString) .get() […]

如何使用selenium在PhantomJS中设置代理身份validation?

我在java中运行这个简单的selenium测试: public static void main(String[] args){ WebDriver driver = new PhantomJSDriver(); driver.get(“http://www.google.com”); WebElement element = driver.findElement(By.id(“gbqfif”)); element.sendKeys(“cheese”); element.submit(); System.out.println(“Titulo:”+driver.getTitle()); driver.quit(); } 但在我的办公室,它需要代理身份validation,我不知道如何设置它。 我必须把我的用户和密码放在某个地方。 你能帮我吗?

Apache HttpClient 4.1 – 代理validation

我一直在尝试使用Apaches HttpComponent的httpclient从配置的属性配置代理身份validation的用户和密码,但没有成功。 我找到的所有示例都引用了不再可用的方法和类,例如HttpState和setProxyCredentials 。 那么,有人能举例说明如何配置代理凭证吗?

如何通过Java中的代理发送HTTPS请求?

我正在尝试使用HttpsUrlConnection类向服务器发送请求。 服务器有证书问题,所以我设置了一个信任所有东西的TrustManager,以及一个同样宽松的主机名validation器。 当我直接提出请求时,这个管理器工作正常,但是当我通过代理发送请求时似乎根本没有使用它。 我设置我的代理设置如下: Properties systemProperties = System.getProperties(); systemProperties.setProperty( “http.proxyHost”, “proxyserver” ); systemProperties.setProperty( “http.proxyPort”, “8080” ); systemProperties.setProperty( “https.proxyHost”, “proxyserver” ); systemProperties.setProperty( “https.proxyPort”, “8080” ); 默认SSLSocketFactory的TrustManager设置如下: SSLContext sslContext = SSLContext.getInstance( “SSL” ); // set up a TrustManager that trusts everything sslContext.init( null, new TrustManager[] { new X509TrustManager() { public X509Certificate[] getAcceptedIssuers() { return null; } public […]