hnshhslsh / virtual-judge

Holding contests using problems from other OJs!!
52 stars 26 forks source link

填加vjudge.net,判题失败 #5

Open sdibt opened 7 years ago

sdibt commented 7 years ago

非常感谢能继续维护vjudge,我刚试了新加的vjudge.net,抓题没问题,判题失败,判题的用户名和密码都没有问题,对JAVA不是很熟,希望能帮忙解决一下。谢谢。

错误信息如下:

2017-08-04 18:11:16 ERROR MultipleProxyHttpClient:68 - All clients of vjudge.net failed. 2017-08-04 18:11:16 ERROR SubmitCodeManager:81 - java.lang.RuntimeException: java.lang.RuntimeException: java.lang.IllegalArgumentException: The validated expression is false java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.IllegalArgumentException: The validated expression is false at judge.httpclient.DedicatedHttpClient.execute(DedicatedHttpClient.java:42) at judge.httpclient.DedicatedHttpClient.execute(DedicatedHttpClient.java:51) at judge.httpclient.DedicatedHttpClient.post(DedicatedHttpClient.java:120) at judge.remote.provider.vjudge.VjudgeSubmitter.submitCode(VjudgeSubmitter.java:47) at judge.remote.submitter.CanonicalSubmitter$SubmitTask.call(CanonicalSubmitter.java:129) at judge.remote.submitter.CanonicalSubmitter$SubmitTask.call(CanonicalSubmitter.java:96) at judge.remote.account.RemoteAccountRepository$1.call(RemoteAccountRepository.java:183) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.IllegalArgumentException: The validated expression is false at judge.httpclient.MultipleProxyHttpClient.execute(MultipleProxyHttpClient.java:69) at judge.httpclient.DedicatedHttpClient.execute(DedicatedHttpClient.java:30) ... 10 more Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: The validated expression is false at judge.httpclient.DedicatedHttpClient$1.handleResponse(DedicatedHttpClient.java:37) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:226) at judge.httpclient.MultipleProxyHttpClient.execute(MultipleProxyHttpClient.java:61) ... 11 more Caused by: java.lang.IllegalArgumentException: The validated expression is false at org.apache.commons.lang3.Validate.isTrue(Validate.java:180) at judge.remote.provider.vjudge.VjudgeSubmitter$1.validate(VjudgeSubmitter.java:51) at judge.httpclient.DedicatedHttpClient$2.map(DedicatedHttpClient.java:56) at judge.httpclient.DedicatedHttpClient$2.map(DedicatedHttpClient.java:51) at judge.httpclient.DedicatedHttpClient$1.handleResponse(DedicatedHttpClient.java:35) ... 13 more 2017-08-04 18:11:20 INFO SubmitCodeManager:40 - Create submit: #95152 | VJudge - poj-1000 | 116B 2017-08-04 18:11:20 INFO RetentiveLoginer:27 - Login: VJudge | sdibt3 | SUBMIT_CODE_poj-1000 2017-08-04 18:11:21 ERROR MultipleProxyHttpClient:68 - All clients of vjudge.net failed. 2017-08-04 18:11:21 ERROR SubmitCodeManager:81 - java.lang.RuntimeException: java.lang.RuntimeException: java.lang.IllegalArgumentException: The validated expression is false java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.IllegalArgumentException: The validated expression is false at judge.httpclient.DedicatedHttpClient.execute(DedicatedHttpClient.java:42)

hnshhslsh commented 7 years ago

我昨天也发现了。这个问题有点麻烦,我发现我的那些账号在vjudge.net交题的时候被要求输入非常复杂的图形验证码,不知道是不是被检测到了在利用他们网站交题,然后就给限制了。我试着折腾下,但是估计一时半会解决不了。话说你急着用什么其他OJ么,估计添加那个OJ 的支持可能会更快些。。。

sdibt commented 7 years ago

其他网站到是不急着用,就是看抓vjudge.net这个思路很好,想试试,呵呵。

hnshhslsh commented 7 years ago

话说你是用的最新的源码,还是那个一键部署包里的。后者的有个bug,可能会导致交题的时候获取不到语言,然后导致交题失败。

sdibt commented 7 years ago

用的最新的源码,自己编译的。

sdibt commented 7 years ago

感觉不是被限制了,从开始就没有提交成功,抓题也是只抓了几道题,今天换了个服务器还是如此。

sdibt commented 7 years ago

是不是取最大的RUNID出错?

hnshhslsh commented 7 years ago

是取最大的RUNID出错,原因是vjudge返回需要输入验证码。至少我这里是这样的。你可以输出一下返回的信息试试。其实我这个提交的时候也有点差异,比网站上少了一道编码的步骤,但是我当初测试的时候是可以的,所以没管它。也可能是这点出问题了,但是现在我的帐号已经无尽的验证码了。等下我重新注册几个试试。