質問編集履歴

2

文法修正

2020/06/13 01:31

投稿

study_111
study_111

スコア82

test CHANGED
File without changes
test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
 
62
62
 
63
- 以下は、デモ画面の```index.html```になります
63
+ 以下は、フロント部分の```index.html```になります
64
64
 
65
65
 
66
66
 

1

追記

2020/06/13 01:31

投稿

study_111
study_111

スコア82

test CHANGED
File without changes
test CHANGED
@@ -45,3 +45,139 @@
45
45
  エラー内容で、検索にかけ調べてみたのですが、分からなかった為質問させて貰いました。
46
46
 
47
47
  どなたか、ご助言頂けましたら幸いです。
48
+
49
+
50
+
51
+
52
+
53
+ ### 追記です
54
+
55
+
56
+
57
+ 環境構築は、[VScode](https://code.visualstudio.com/docs/python/tutorial-django)を用いて、行いました。
58
+
59
+ フレームワークはDjangoを使用しています。
60
+
61
+
62
+
63
+ 以下は、デモ画面の```index.html```になります
64
+
65
+
66
+
67
+ ```
68
+
69
+ <!DOCTYPE html>
70
+
71
+ <html lang="ja">
72
+
73
+ <head>
74
+
75
+ <meta charset="UTF-8">
76
+
77
+ <meta http-equiv="X-UA-Compatible" content="ie=edge">
78
+
79
+ <title>demo</title>
80
+
81
+ </head>
82
+
83
+ <body>
84
+
85
+ <form action="{% url 'tool:check' %}" method="post">
86
+
87
+ {% csrf_token %}
88
+
89
+ <input type="url" name="check_url" placeholder="http://example.com">
90
+
91
+ <button type="submit" name="check" value="send">送信</button>
92
+
93
+ </form>
94
+
95
+ </body>
96
+
97
+ </html>
98
+
99
+ ```
100
+
101
+ 以下は、URL.pyになります。
102
+
103
+ ```
104
+
105
+ from django.urls import path
106
+
107
+
108
+
109
+ from . import views
110
+
111
+
112
+
113
+ app_name = 'tool'
114
+
115
+
116
+
117
+ urlpatterns = [
118
+
119
+ # ex: /polls/
120
+
121
+ path('', views.index, name='index'),
122
+
123
+ # ex: /polls/5/
124
+
125
+ path('<int:question_oo>/', views.detail, name='detail'),
126
+
127
+ # ex: /polls/5/results/
128
+
129
+ path('check', views.check, name='check'),
130
+
131
+ # ex: /polls/5/vote/
132
+
133
+ path('<int:question_id>/vote/', views.vote, name='vote'),
134
+
135
+ ]
136
+
137
+ ```
138
+
139
+
140
+
141
+ 以下は、views.py(仕事の都合上一部のコードのみ掲載)
142
+
143
+ ```
144
+
145
+ import socket
146
+
147
+ import ssl
148
+
149
+ import OpenSSL
150
+
151
+ #SSL通信
152
+
153
+ def get_server_certificate(hostname):
154
+
155
+ context = ssl.create_default_context()
156
+
157
+ print('contextは ' + context)
158
+
159
+ # exit()
160
+
161
+ with socket.create_connection((hostname, 443)) as sock:
162
+
163
+ print('sockは ' + sock )
164
+
165
+ with context.wrap_socket(sock, server_hostname=hostname) as sslsock:
166
+
167
+ print('sslsockは ' + sslsock )
168
+
169
+ der_cert = sslsock.getpeercert(True)
170
+
171
+ print('der_certは ' + der_cert)
172
+
173
+ return ssl.DER_cert_to_PEM_cert(der_cert)
174
+
175
+ def check(request):
176
+
177
+ cert = get_server_certificate('www.google.com')
178
+
179
+ print(cert)
180
+
181
+ x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
182
+
183
+ ```